So in order to say someone's age, we use the typical for Romance languages structure "to have [amount] years" (a avea ... (de) ani), don't we?
Yes, you are correct.
In English it is correct to say that someone is not has.. Years old
in some of the other similar exercises, the correct answers suggest number+ani without de, i am wondering what is going on
What I've gathered from other comments: 20+, add de. Under 20, no de.