It sounds like a situation for some tough love. If you don't stop, you will enable him to continue living off of you and reinforce the idea that others should support him. You already know this though, it's pretty clear.
I would give him a set amount of time to get things in order. Two weeks, a month, 2 months. Don't give him to long but make it long enough that you both take it seriously. Then start getting the house/apartment ready for life without him in it. Pack up some of his things, bring home some of your own friends, change things around. Make it clear that you need independence from him and he needs to learn to become independent. Give him daily reminders that he needs to move out, regardless of his work situation or any other guilt trip, at the end of the time you set. No excuses.