hypocrite
/ˈhaɪpəkraɪt/Definitions
1. noun
A person who pretends to have virtues, moral principles, or high standards, but behaves in a manner that is contrary to those principles
“The politician was accused of being a hypocrite for advocating for stricter gun control laws while owning multiple firearms.”