Stepper motor coil voltages are only supplied as an aid in selecting an appropriate driver. You'll need additional information, such as the rated coil amperage or watts.
A stepper is providing the most torque when the coil is running at full current. The voltage across your coils at full rated current will be 3.15V. There's a catch. Inductors resist a change in the flow of current. If you apply 3.15 volts to your stepper motor, and scope the current, you'll see a relatively slow rise in current instead of a sharp edge.
This is a problem if you want to run the stepper motor at any usable speed. The risetime needs to be a small fraction of the total time the coil is powered. If the interval between coils switching is less than the risetime, or less than say 10 times the risetime, you will see incredibly reduced torque. In most cases, the stepper will not even run beyond a couple hundred Hz, and will stall out if you put your finger on it.
There are a couple ways to cheat this fact of physics. Well, only one way, but a few approaches. The upshot is that you need to use a much higher voltage to get a faster risetime in the coil. But you still need to keep the coil within rated parameters.
One approach is to use power resistors in series with each coil, and a power supply several times higher than the rated coil voltage. This results in a short risetime, but burns the majority of your available power as heat. With that approach, you'd use the same calculations used for LED dropping resistors, calculate the voltage drop necessary to get your 3.15 volts from a 24 volt supply, and calculate the watts dissipated so you can select the correct resistor wattage. This approach is called an RL driver. You could use this method with the darlington array.
Another approach is much more efficient. The higher supply voltage is applied directly to the coil, but the current is actively monitored. When the current reaches rated value, the coil is shut off; if the current drops, the coil is turned back on. This can happen at a pretty high rate, up to the hundreds of KHz. This approach is called a chopper driver. Ready-made chopper drive chips exist.
One last approach uses BJTs in their linear region to control current. Obviously this will dump excess current as heat, just like a resistor. But the current can be controlled precisely, and can give the motors the current they need for a fast risetime. There is a kit called the Linistepper that uses this type of driver.