25 mm/rev lead screw is probably a little big to drive with a NEMA17. Go with the NEMA23.
A typical motor driver will allow you to send direction and step commands over the GPIO. This is the easiest way to control the motor in open loop mode. Your program will tell the controller to take 200 steps to move your linear slide by 25 mm each step being about .125 mm.
The speed is going to be determined by how fast you send step commands. If you send 1 step every millisecond, you will get a linear velocity of 125 mm/s. if you sens a step command every 5 milliseconds, you'll get a linear velocity of 25 mm/s.
Starting a stepper motor at high velocity often doesn't work very well, so you'll likely need to include a ramp-up and ramp-down in your program to prevent the motor from skipping steps. If you are running in open loop mode, you have to make sure this never happens or you won't be able to keep track of the position.