I was recently asked this question (paraphrased): “A lot of North Indians have the last name ‘Singh’. Many Sikhs have this as their middle name. Why do they write and pronounce it as ‘Singh’ when the word is ‘simha’/सिंह? They pronounce सिंघ but write सिंह in Hindi. For example, the Defence Minister Sh. Rajnath Singh is राजनाथ सिंह in Hindi. Coming from South India, I find it very unusual.”
This was my answer
As you have rightly traced, the original Sanskrit word is ‘siṃha’ (सिंह), which means a lion. However, in Prakrit this becomes ‘sīha’, ‘siṃgha’, or ‘siṅgha’. In the ancient Prakrit Grammar Prākṛta-prakāśa, there is a rule ईत्सिंहजिह्वयोश्च (1.17) due to which Sanskrit ‘siṃha’ (सिंह) becomes Prakrit ‘sīha’ (सीह) (the inflected form सिंहः becomes सीहो). In later Prakrit, another form ‘siṃgha’ (सिंघ), optionally ‘siṅgha’ (सिङ्घ), is attested. In his Prakrit grammar (eighth chapter of the Siddhahema-śabdānusāsana), Ācārya Hemacandra (12th century CE) gives a rule मांसादेर्वा (1.29). In his auto-commentary on this rule, he gives the example “sīho siṃgho” (“सीहो सिंघो”) which gives the two variant Prakrit forms of Sanskrit ‘siṃha’ (सिंह), viz. ‘sīha’ (सीह) and ‘siṃgha’ (सिंघ). By the next rule वर्गेऽन्त्यो वा (1.30) of Hemacandra’s grammar, ‘siṃgha’ (सिंघ) optionally becomes ‘siṅgha’ (सिङ्घ). So, the pronunciation /sɪŋghᵊ/ by most North Indians and the English spelling ‘Singh’ reflects this Prakrit version ‘siṅgha’ (सिङ्घ) which is attested since at least the time of Ācārya Hemacandra. Somehow, the Sanskrit version सिंह is used by most North Indians when they spell this last name in Devanagari, but the pronunciation is invariably the Prakrit version. If you note, in Punjab the middle/last name ‘Singh’ is spelt ਸਿੰਘ (सिंघ) with a ‘ṭippī’ in Gurmuki. This Gurmukhi spelling is closer to the actual pronunciation.
--