I think you have answered your own question.
The four wire stepper motor drive wires are handling a heavy current for a split second and so produces masses of what is in effect magnatism. If you then pass a copper wire through a magnetic field, you get an electric current, so, in effect laying the wires neatly side by side, you are exposing your switching circuits to all the interference that your stepper drivers can muster.
My stepper driver wires are flat, heavy duty copper loudspeaker cable, which comes in a four wire strip. These are looped to the three motors, and becasue it is heavy duty, designed for rough usage, it just lays along the bottom of my machine tray.
The switches all route through shielded multicore cable, but again, I do no mix those with quick pulsing detectors (index wheel etc) with my limits and home, which are essentially slow on/off.
You might find, however, that if you increase your debounce timings you will get rid of a lot of interference, if you still want everything nice and neat.