Yes, switches are very noisy, and unless "de-bounced," spurious key presses are pretty much inevitable. There are two approaches to debouncing, hardware or software. The hardware approach is to add a small capacitor between the signal and ground (try .001uF to .01uF or so) - this assumes a typical pull-up situation, either via a pull-up resistor or internal pull-up on the Arduino pins. The software approach is to implement a delay each time a key press is detected before reading any other key presses. Be sure that the delay does not interfere with the timing of the stepper routines.