Mainly that it’s a feature that comes along with a lot of implicit baggage. UnrealHeaderTool would need to be able to made to understand namespaces, so we’d have to add UNAMESPACE() macro to parse it and a new UNamespace type added to be an appropriate outer for the things declared within it, as well as generating code which would need to forward declare everything (for better or worse, we implicitly forward declare a lot of types using elaborated type specifiers - Elaborated type specifier - cppreference.com - which is problematic for namespaced types). The editor and blueprints would also need to be able to deal with them (and in BP’s case - create them), and our object naming convention would need to change.
So it’s simply an engineering choice - this feature would be a lot of work for a (perceived) relative lack of benefit.
Steve