I think you did the right thing. I hate it when people advise not to tell the truth and say some bull about it being selfish e.g. you're doing it to ease your guilt but it will cause them great upset.
I strongly disagree. I think everyone has a right to make an actual informed decision about the person they are with. If you are keeping something from your partner that they would break up with you over if they knew then you are doing something really awful to them. You are taking away their choice and making them live a lie. Life is short and nobody deserves to have that decision made for them.
You told the truth. Despite what you did, you made the best choice afterwards.
Unfortunately you also seem to think (out of desperation perhaps) that the key to sorting this out is him understanding how sorry you are. People are not obliged to accept our apologies, no matter how genuine they are. And if you continue with apology after apology, there comes a line you cross where you are not respecting their feelings and their agency to make a choice.
He may or may not forgive you but he needs time. If there are things left unsaid then perhaps ONE (and only one) letter may be appropriate but I would tread carefully with it.
If he chooses not to be with someone who would kiss his best friend then that's up to him.
That's the thing about cheating. If you really are truly sorry and, if able to turn back time, would choose not to do it again, then perhaps the shock and guilt of all this has changed you. Maybe you're not the same person as you were a short time ago when you did that. Maybe. But to him, you will now always be that person. Although many people stay together, I think very few can get to a point where the wronged partner trusts the other in exactly the way they once did.
You might not be a terrible person but what you did to him was terrible. If this experience has changed you for the better it just means that you can be better for your next partner. It doesn't mean that you get a free second go at this relationship.
Also these things always bring up a lot of the opinions about drunkenness. "Drunk words are sober thoughts", "alcohol isn't an excuse", "I'd never cheat no matter how drunk I was" etc etc and maybe all that's true.
But if you find that you do end up doing things that you genuinely wouldn't do sober (like this) and it's ruining your life (like this) when drinking, then you need to consider that you may have a problem and stop. Problem drinking isn't just drinking in the mornings and drinking at work.
If you become a person you neither recognise or like when drunk and you continue to do it anyway then you cannot truly believe you are actually in control of your drinking.
If this was a "drunken mistake" and he decides to forgive you then stopping drinking should be for good, not just for a few months until it's blown over.
But whatever his choice, for your sake, and I say this as someone who has done things drunk that I cannot imagine doing sober, I really would advise you to stop because it's a road that leads nowhere good.
Being teetotal really isn't so bad. I was someone who could easily go for weeks without drinking but when I drank I did it to excess and made some of the worst decisions of my life. Stopping has given me an inner peace like nothing else ever has.
Use this to better yourself, FOR yourself, and leave him alone to decide.