optocouplers are used for circuit isolation not fixing thermal problems.
steppers are slow by design and you can't run them as fast as conventional motors.
also big speed changes are often not followed, you need to properly ramp it up.
using higher voltage to driver steppers is common way to improve response time
of the motor (small 5-6V motor can be run on 24V for example) but this requires current limiting
which is normally part of proper driver.
ULN2003A is just an open collector driver meant for interfacing, not for running stepper motors.
It sure can be used for driving small steppers as well but... it's a compromise and this is
what people often do when this is just a hobby.
The easiest "fix" to limit current is to add resistors in series with motor leads but this is
still just cheap trick.
Better way is to use chip designed to run stepper motors or go just for a commercial driver unit.
that way you will get not just (idle) current limiting built in but many more goodies like motor protection, microstepping etc.
http://images.google.com/images?svnum=10&hl=en&lr=&q=stepper+driver
http://www.google.com/search?hl=en&q=stepper+motor+driver+ic&meta=
http://www.nipponpulse.com/Products/Drivers/Chips.cfm
http://www.nipponpulse.com/Products/Drivers/ChipsSpecs.cfm?ProductID=28