moralizer

Noun

 * 1) One who moralizes.