moralizer
MOR'ALIZER
, n. One who moralizes.