Why is ”ai nouă găini și avem zece lei” incorrect?
It is not incorrect. You should report that.
For english speakers, this sentence is funny due of the double meaning of "lei" in Romanian. "Lei" means lions and is the name of the local currency also.
Why here is it "și" here, but in exercise it is some unknown "iar"? What's that?
Iar can also be used to mean "and" but has a slightly different context sometimes... Iar can also be used to mean "but" or "again".
That has some more explanation too.
I think in this kind of sentence they want to emphasize the contrast.