He'll never change and it's not up to you to change him or "open his eyes."
He's may legally be considered a tenant now on a month-to-month agreement.
Give him proper written notice of termination under the MO landlord tenant statute.
Then file for eviction if you have to.
Or, you can treat him as a guest and put him and his stuff out and change the locks. There's a risk there since he's a law school graduate, so you might be better off just following the L/T laws. He won't be able to give you an argument about that.
If he starts being abusive or destructive, document it, and you may be able to get him out quicker with a restraining order.
All you are doing right now is enabling him to continue his addiction and behavior. It'll be painful but you really need to cut the cord, throw him out, and let him sink or swim. Once he hits bottom he may seek professional help.