Moralizer /(?)/

Mor·al·i·zer

Moralizer

n.
  1. One who moralizes.