Why not "does not have to"?
I forget, why йому here instead of він?
In English, we have He needs. But in Ukrainian, the expression is "It is necessary" (треба) to him or for him. To/for him is йому.
Is "needn't" incorrect?
It's correct, although maybe British, which is why Duolingo does not recognize it yet.
I am from USA but I am familiar with that word... Maybe I read it in a book somewhere...