Apologies for the vague nature of this.

I'm looking for a word that could describe a person who quits something due to its supposedly being harmful or unethical (cigarettes, meat, alcohol, recreational drugs), and then becomes almost exaggeratedly opposed to that thing, going so far as to harangue others over their choices.

In the case of meat, I had to settle for "anti-meat evangelist", but think there may be a specific term or turn of phrase.

Another example might be that of an ex-smoker who goes on about the dangers of smoking but lingers after the smell of passive smoke; or a former meat-eater who feigns disgust at you tucking into a steak and lectures anyone who will listen, but who is secretly miserable and wants bacon.