undo doesnt allow multiples steps like step backward does. undo is more useful for toggling a change back and forth. step backward allows for removing multiple steps. and this problem is an annoyance when using step backward.
Seems a lot of people have this problem, and someone wrote a script to fix it.
Also, note you need to copy the script in the Photoshop/Presets/Scripts folder for it to show in the Scripts menu. Once it's there, you can assign any keyboard shortcut to it - CTRL+Z of course
Photoschop CS3 and up i think.