How to prevent battery drain when loaded?
If you mean the (freshly charged) battery voltage sags when you power on your circuit, then it sounds like you are overloading the batteries (e.g. asking them to supply more current than they are capable of without significant voltage drop)  

You probably just need some bigger batteries (or fresh ones if the ones you are using are dead)
A separate supply doesn't seem necessary unless you want to e.g. run the motors from a different voltage or keep things isolated for other reasons. In any case, if you have mentioned everything in your circuit then what else is there to power apart from the relays and motors?

To confirm this, could you update your question with:


The current draw of your circuit in it's various states (e.g. motor off, motor on low/high speed, etc)
The model/datasheet for your batteries, or failing that what is printed on them. Also how old they are (or a rough estimate) 


Also a model/datasheet for the motors, and/or a schematic would probably help if you can manage it.