Epiphany77 said What's the best way to tell an alcoholic, "You're an alcoholic. Get your shit together or I'm gone."
If you've been with an alcoholic, you'll understand. I love him, but I'm just drained.
"You're an alcoholic. Get your shit together or I'm gone." Like most things, directness is key to keeping low drama. Way too many folks are caught up in false politeness. That's stupid, and helps no one.
Same with fat asses, smokers, child abusers, spouse abusers, and so on. They're all engaging in behavior that endangers themselves, and / or others, but, whether they'll accept that is whole 'nuther matter.
The thing is, if you don't mean it, there's no point in saying it.
The point also is unless he's hit bottom, with whatever bad behavior it is, then, he probably isn't willing to make a change. Understand, that's NOT in your control. You can manipulate if you want, but, it really won't change things. He WILL NOT change his ways for you. He MAY change his ways to keep you, but, likely not, if you've already broached the subject, he's almost certainly made his choice for now.
Your choice is deciding whether or not to deal with it, and being prepared to get away and move on in your life.
You can tell a fat ass you're fat. You're killing yourself. You're a burden to society. You're going to die young. They'll still keep eating. Until they decide they've had enough (many never do), they'll just keep doing it. Many behaviors are like that.
There's many times an underlying disorder: religious guilt / brainwashing (probably the single most destructive force around today), bad parenting, despair, etc. For long term success, those underlying issues need dug through. Physical addiction is a factor, too.
You can threaten all you want. You can also intervene and drag someone off to treatment. Unless that person is READY for change it will not happen.
The best way to tell a person they stink is to say it. You stink. If they piss you off, tell them, you're pissing me off.
Now, if you say he's an alcoholic, he may well say he's just enjoys himself, and that it's none of your business. He may, or may not, be an alcoholic. Impossible to tell from here.
You might to a bit better by saying. I'm tried of the way things are, and, if they don't change, I'm ready to move on. Leave the "alcoholic" label aside, because it encourages a denial / rebuttal.
It's like the drunken guy at the bar telling that he's "good" to drive home when he can't stand up straight. It's like the 400 40% fat person saying they're slightly over-weight.
You're 21, and, shouldn't be taking on challenges of dealing with stuff like this. Cut the guy loose; move on. If he cleans up, he'll let you know, otherwise, cut your losses, be smart, bet on a different horse.