I have always appreciated my parents' approach, and expect to follow it whenever I need to with my own kids:
"You can live with here any time you need to, for as long as you're actively trying not to."
This is probably worth what you're paying for it, as I've not been in your shoes and there are many voices here better versed in this than I am. It also might not be the right approach for every kid, and I don't know yours, but here's some thoughts I'd strongly be considering for the described situation...
A parent's job is not to support their child, it's to help their child learn how to support themselves. You don't have to 'drop the hammer' to not be an enabler, and expectations need to be set before they can justifiably be enforced. Rather than drop him in the proverbial pot of boiling water, gradually raise the temperature on him.
There was no mention of rent or household expenses. If he's not contributing already, it's time for him to start. Not because you need him to, but because he needs him to. It should start on the smaller (but fair) side, like 1/3 of shared groceries and 1/4 market price for a small apartment within 30 minute drive from his work, increasing incrementally (both rent and household expenses he pays 1/3 of) over time. The increases could be quarterly and flexibly dependent (temporarily paused or reversed) upon pre-defined level of effort (SMART*) criteria. These might include things like weekly hours worked, weekly hours applying and/or interviewing for job growth, weekly hours of professional development, weekly hours of educational (passing grade required to count) development etc. If no changes are made, he's paying market rate for rent and 1/3 of all household expenses in 9 months, and faces the rent increase continuing above market rate for the second year.
Assuming his being there isn't putting an undue financial strain on you, put everything he pays you into a separate high-interest (higher available, but Ally @ 3.8% is an easy one) savings account. Determine a fair scale for determining the proportion of it that gets returned to him upon his moving out based on clearly defined (SMART*) criteria, and the maximum does not need to be 100%. These criteria would then be regarding meeting weekly with a certified mental health professional, as well as possibly participation in a substance abuse program, and also lays out what he loses out on whenever he doesn't.
No smoking (or smell of smoke) and no illegal drugs in your house should absolutely be part of the agreement, with significant penalties for infringements.
The fact that he's already overstaying his welcome and taking advantage of you means this all probably needs to be documented in writing. He is also free to move out at any point that he feels these conditions are unreasonable.
*Specific, Measurable, Achievable, Relevant, and Time-bound.