Looks like your Sholder function never returns. ![]()
What I would do:
Global variables for the desired position of each of the motors.
In loop(), check each of the motors to see if it need to move. For each that needs to move, set it going in the desired direction.
For best motion you should be using a PID control loop for each motor. This will run the motor fast if it is far from the desired position and slow if it is near the desired position.