I am looking for a word that describes a person who always believes they know what is best for others, but in reality that isn't always true.
I agree with the comments, I don't think English has a good word for this that is commonly used. Patronizer (as Benjamin Harman said) probably is the closest, but I don't think I've ever heard it used before or seen it written.
Instead, depending on the context, you might want to use the adjective patronizing or other adjectives like:
Or, you could rewrite the sentence to be use a verb like patronize, look down on, or talk down to.