Stepper Motor Button Press
You will probably get only 1 step each button press because your runSpeed() is within the if (button.rose() == true &amp;&amp; buttonState == LOW)-statement.

The runSpeed() needs to be called every loop to check if the motor needs to step.

A simple way to change this is to set a boolean to true or false if you check your button and add something like this pseudocode:

if(motorRun == true) stepper.runSpeed();