You say, you are a generous person, but clearly not to yourself or your dc. You are avoiding conflict.
If you ever get to tell him to leave, he will try every trick. Promising to pay rent (then he will feel even more entitled to boss you around), tell you you are ruining his child access. He will explain it's you not him. It will get better, he just has a hard time right now due to x y z.
You need to grow a backbone, in the long term your dc are paying the price, because you are not assertive.
Don't let him hang about, he has had plenty of time to sort his things out. His dc can go to their mother and what he does, well it's up to him. Air B&B, a friend, a room, a hotel, don't feel sorry for him, he is grown and has had a free ride for too long.
Don't do things next month, what you can do today
.