AccelStepper help - it just won't move!
Please read the documentation for the AccelStepper library.

Poll the motor and step it if a step is due, implementing
accelerations and decelerations to achieve the target position. You
must call this as frequently as possible, but at least once per
minimum step time interval, preferably in your main loop. Note that
each call to run() will make at most one step, and then only when a
step is due, based on the current speed and the time since the last
step.

source
You are only calling run once, after setting a new position.
Move stepper.run(); out of the if statement, the the end of the loop function.
      ...
      stepper.moveTo(nextStop*n);
    }
    stepper.run();
    n++;
}