Stepper motor off sync

It's an unusual approach to solving the problem, but it should be workable until millis() wraps round after 50 days. Try changing it to:

curStep = (long) 7 - map(millis()%60000,0,60000,0,4096)%8;

Otherwise you are quite likely to miss the curstep == 7 step when millis()%60000 wraps round to zero.