moralizer

MOR'ALIZER, n. One who moralizes.