Why is Density Functional Theory notoriously bad at describing oxygen molecules?
The answer is most certainly the Self interaction error of an electron with itself in the exchange term.

This would probably be more helpful than what I can write here, as I have little time to make this answer more complete.

A. Droghetti PRB 2008

Also have a look at
Klupfel2012