moralist

noun
  1. a person who teaches or promotes moral principles and values
  2. a person who is concerned with regulating the morals of others, often in a judgmental way
  3. Usage: often disapproving

Examples