Stepper Motor Controller With Arduino
I don't see any reason why you couldn't take a bunch of 74HC595s and put a power buffer on the output. For bipolar steppers, you could drive two motors per 74HC595. This is not going to get you any kind of high-performance motion, but you can get basic movement out of it.

I would not use the ULN2003 for this though. You would be better served with a push-pull configuration that can drive the motor without a pull-up resistor. (the ULN2003 has an open-collector output)

A SN754410 would do a better job for you (2 motors per chip) and you can get even cheaper with bare transistors or transistor arrays, but that gets a bit more in depth.