I fail to see the use of a button. Let me explain what I have in mind.
I intend to just write 100 on EEPROM (without uploading your sketch) which will be my starting point and will be included in TargetPos[] as a position. Then before the very first run, I'll align all the half circles manually in the same position, let's say facing upwards. Then load your code and start the "show". A button will surely be helpful in case one or any of the steppers misstepped after a while and if I had 41 end stop/sensors , one on each motor. Otherwise, in case of a misstep pushing a button will not re align the motors in the 0 position.
I'm surely putting a lot of faith in cheap 24BYJ's because if any of them missteps the whole "show" will fail. I've tried only 10 motors, ordered the others, must finish 3D printing the half circles, get a panel laser cut with holes, mount everything, do the wiring with correct power supply. Only then I'll know if I face misstepping problem and waisted my time --- and yours (sigh !).
Changing EEPROM address is an excellent idea, thanks. Guess I'll have to put in an if statement to overcome the overflow ?
if (address == EEPROM.length()) { address = 0;}
Regards.