upbraider
/ˈʌpbrɑɪdər/Definitions
1. noun
A person who criticizes or scolds someone, often in a harsh or severe manner.
“The teacher was seen as a harsh upbraider by her students, but she had high standards for their work.”
2. verb
To criticize or scold someone severely, often in a public or humiliating manner.
“The politician was upbraided by his opponent for his handling of the economic crisis.”