The so-called true names were not only possessed by demons. In fact, angels also had them, and dragons as well. All races that relied on soul memories to pass down their legacies had true names.
And the reason why these races with true names would think of ways to hide them was naturally because of the existence of the 'spirit of language' power in mysticism.
One had to know that true names were inherited in soul memories, so it was naturally linked to the souls of living creatures. When an enemy knew your true name, theoretically speaking, the power of the spirit of language could directly touch your soul and cause immense damage to it. Moreover, this damage was impossible to defend against…
Of course, Sparda did not know all of Mundus's true name. It was only a part of it. How should it be put? This portion of Mundus's true name was not deliberately discovered by Sparda but accidentally exposed by Mundus himself.