You can get 30V rated MOSFET driver chips. They'll drive rail-to-rail (- a Vbe drop or two) from a TTL logic level control signal. However you'll need to 'tame' them with a series resistor on the output to match your cable impedance and you *MUST* have good enough decoupling right at the driver chip. Alternatively, if the protocol is relatively slow, use a rail-to-rail >+/-15V supply OPAMP fed between +24V and 0V, bias one input at half the 5V logic supply and apply the control signal to the other input via a resistor. Check the slew rate is fast enough to reproduce the control signal. Another approach is a ULN2803 or similar with bootstrapped active pullups. Ask me about that one if you need a lot of output lines.
If you take James's suggestion for an EBAY buck module, you should feed the Arduino power in at 7.5V via a polyfuse with a beefy 9.1V Zener (or 'boosted' Zener + power transistor) as a clamp. That way,if the buck module fails it doesn't take out all your control logic. Additional 5V loads in excess of the areduino 5V supply capability can be fed from the 7.5V rail by LM7805 regulators - with only 2.5V across them, they should be good for about 300mA each without heatsinking.