It does not sound like a good position at all. Unpaid? Or "paid" by getting to take a lesson?
I would neither accept, nor offer, such a position. And I would never make a person sign a non-compete at such a low level in their career.
Offer an entry level position, at entry level pay, entice your staff to stay of by making the job requirements doable, helping them see what a vital part of the operation they are, and offer opportunities to ride and improve in all aspects of the business as incentive to stay.
You will always lose some to other trainers with the "grass is greener" effect. How long do they stay with the trainer who is troublesome to you? If not long, then word will get out. That trainer will become known for empty promises. Or, the ones who left weren't committed anyway.
But, honestly, and this is from someone who has been in the business a long time, if you find that the workers/working students who leave you DO stay at the troublesome trainer's barn, you may want to find out why. See if there is anything they are doing that you could incorporate into your program, or is there something else that these new workers would value.