Your rules seem fair, would change the time frame though, if they are going to school, and doing better, maybe help them with that? Evaluate their financial condition and if they need help let them stay and you get to access their bills to make sure they are paying themselves off etc.
If you don’t set some sort of deadline though, it becomes easy to get taken advantage of if the person is just lagging around..
but if they are truly turning their life around due to you helping them, why not make their life changing a little bit easier if they are actually doing it and let them stay on the cheap?
You can also go out a little bit more and have fun with your significant other because you have a babysitter whenever you want