The answer is they gave him a number of names. He had a lot of names and Moshe is only one of his names.
In those days, people had a number of names which signified different qualities. Exactly which ones were the ones they used, I cannot tell you. But we know that Moshe also had a name Avi Geder. Later it was unified into Avigdor. Avi Geder means ‘the master of making fences.’ Or ‘my father is a fence; a protection for me.’ That’s one of the names of Moshe.
Now, why do we call him Moshe? As a memorial for the daughter of Pharaoh. The daughter of Pharaoh because she was of great character and she volunteered to save a yeled ivri, so Hakodosh Boruch Hu gave her a memorial forever. The greatest man in history was named by her and that name remained. כי מן המים משיתיהו. Now, the word ‘Moshe’ means to draw forth in lashon hakodesh. It just happened that in Egyptian, ‘mo’ means water. Moshe – he came out of the water.
Now, why did they keep a name like that? Hashem should have changed the name later. “I’m making you the leader of My people. I’m calling you something else.” No; out of honor to the daughter of Pharaoh, the name that she gave remains forever.
Tape # 166 (April 1977)