It’s going to take some real *actions for him to change
If he’s an alcoholic there are groups he could be going to. If he’s not and he’s choosing to simply lack respect for you and your family than you can’t force him to show any. Don’t sound like that’s a priority for him if it’s continued on this long and now your son is at risk of his father’s poor choices and behaviors. If he’s not an alcoholic he needs to make a massive lifestyle change and if he doesn’t want to I would adjust yours how you see fit for the protection of yourself, your heart and your son
I think there’s more into it than just him coming home late or having a beer. There’s a lot more that you both need to talk about and somethings that you might need to learn to let go of (if apologies were accepted) to properly continue the relationship.
I say this in the most gracious way but he isn’t likely to change and it sounds like you’re fed up
It’s gonna take some real conversations for him to change