Personally, I would give him a long period of notice. That way there is no panicking, no feeling kicked out, he can even carry on as he is for a few days bar the stealing etc. honestly.
Say, you will give him until 30 September by which time he MUST either be in a full time job (35+ hours) or studying plus a part-time job.
Say that you will not hassle him about this but that you are there to help in whatever way you can in the meantime.
Say that he will be out immediately if there is:
Any stealing
Drugs
Abusive behaviour towards anyone
Serious breach of house rules on tidiness, laundry etc.
Say that if he stays as of 30 September you will be taking board from him at an amount to be decided.
This way you are giving him the opportunity of a stable home, chance to bum about one last bit, chance to have a go at sorting this out for himself.
You're not kicking him out now, but you will be if he doesn't sort himself out.
My BIL was like this and still is at 32. Endless problems for my MIL. Various family members have helped him get starts in jobs which he has messed up.
He came to us - same old same old. We told him the above but with a fortnights notice under the circumstances. He was gone in 3 days but we didn't kick him out...