I think we'd do well to recognize that not everyone is of equal value to the team, and hence, not everyone's situation is assessed according to the same criteria. In a sense that is not fair, since the same transgression will be treated differently in two different cases. In another sense it is fair, however, because the player or coach who is given the longer leash is given another chance in recognition of his worth.
People who are more necessary and more highly valued are given second chances that would result in the termination of others. When you say "he doesn't deserve to be on the football staff of a major university," you must be thinking he doesn't deserve it, morally. That is controversial, as not all will agree on termination being the appropriate penalty. In any case, in another sense he does deserve to be on the football staff, namely, the sense in which he has proven himself an exceptional coach and recruiter, and this despite his drinking habits, which up until now no one was even aware of.
I won't sit here and pretend like I have the answer, or insist that your stance is irrational. But it makes no sense to judge a person based on one incident, or even three incidents for that matter, spaced out over a decade, neglecting completely everything else he has meant/done for the program in the meantime. And taking that into account does not compromise one's ethical principles. I would question the ethical principles of anyone who doesn't take a man's character into account.