First general improvement. I imagine the ULN2003A is on your own board. Change the ancient ULN2003A for a modern FET array IC (with clamping diodes) with practically no voltage drop (<50 mV) when on, rather than about 0.8 V. That delivers slightly more power (8% or so) to your steppers for little effort and cost. It allows your software to use slightly narrower coil drive pulses to achieve the same work. More importantly, it gets you away from the ULN2003A, which has been well superseded in the last 35 years, and designing with today's circuitry.
Second general improvement. You don't show any bulk decoupling capacitance close to your ULN2003 IC, before the cable/wires to the motor. Add a 470 uF 16 V electrolytic and a 100 nF ceramic in parallel with the stepper motor 12 V supply and GND. Without that, the PSU is trying to react to changes in the motor current draw from the other end of the PSU wires and their inductance. The bulk decoupling capacitor acts like a short-lived rechargeable battery, topping up when the motor current is low and supplying it when the motor current demand steps up. The small capacitor does the same job but (for want of a simpler word) faster and in response to other frequencies.
Next, when stepping your motors, make sure you (a) disable the coil drive once the motor has stepped and (b) sequence stepping so that only one motor is energised. Leave a short 'all off' interval between pulses before energising the next motor's coil.
Depending on your application, you may be able to run all motors simultaneously while keeping the peak current drawn at any instant below your PSU's maximum. The actual maximum may be less than the rated maximum, depending on the quality of the PSU and manufacturer.