Philosopher here, will offer a philosophy of language, general response. Hopefully it's useful, as it approaches the question from a totally different angle (and can be taken together with the chosen answer).
The way your question is phrased suggests you are thinking in terms of the "museum theory" of language: the thought that the world is like a museum exhibit, and we have a sack of labels (words), that correspond to each item. The bag taken as a whole represents language, and as we go about the museum, we affix the correct label to its item.
In this case, your question implies that there is a label "Celestial" in the bag (a word floating in "language-space," if you will) that must be affixed to Ego, because that is what he is. But language doesn't work that way: Ego is whatever he is, and it's the community of language users that decide (sometimes deliberately, other times through chance and accidents of history) what to call him or anything else, for that matter (and this can change over time). He can also determine that himself, and just spread the word. So, his powers, abilities, etc., would remain the same, regardless if he were called a Celestial or a Pzun (and then you would be asking "how did Ego know what a Pzun is?")
Consider that the word "human" appeared in English around the 1530s: how did these first users of the word know what a "human" is? What were they before realizing? Obviously they were exactly the same as before the word came into the language, and just used a different word (then you could ask "how did they know that was the correct word?" Again, there isn't a "correct" word: there are just strings of sounds that we attach to things for expediency and convenience).
So, in a way, no one knows what a Celestial (or a human or a Pzun) is: rather, speakers decide (or are told, by Ego or his former peers) to call a certain thing a Celestial.
I'm oversimplifying/leaving out details, but hope it makes sense.