It is best to analyse sentences beginning with the verb.
In Как зовут сына Илоны? the verb is зовут and it is in the 3rd person plural which means its subject should also be plural. But there are no plural nouns in this sentence which means the subject is they and it is omitted, зовут means '[they] call', this sentence is impersonal, that is, without an explicit subject. That is how Russian works when it comes to asking someone's name, Как тебя/Вас зовут? is actually 'How do they call you?' where тебя/Вас is the direct object and it is, naturally, in the accusative case.
Your sentence works just the same way.
Сына is the direct object in the accusative case. Since cын is a masculine animate noun, its accusative case = genitive case. If дочь is used instead, it will be in the accusative case too, but since дочь belongs to the 3rd noun declension (feminine nouns ending in a consonant + ь), its accusative case = nominative case.
Илоны is in genitive since it is an attribute to cын, cын Илоны is 'the son of Ilona.'
Как зовут сына Илоны? is 'How do.they.call the.son of.Ilona?' if translated word for word, where the subject 'they' is omitted since the verb зовут is impersonal, the direct object, the animate masculine noun сын 'son', is in the accusative case, and Илоны is in genitive case, 'of Ilona; Ilona's.'
There is a similar question on Russian SE.