I know there are potential duplicates, but imo this is different because there are around 100 developers actively working on this nightmare.

I have unfortunately gotten into a job where this GUI project exists. Development started around 20 years ago and it has to support different hardware and OSes (Windows, Linux).

There are 5 million LOC, with many files over 10k lines. This is absurd. All of Google Chrome runs on 6 million iirc.
Needless to say the code is horrific. I have seen the same 20 lines copied hundred times with different numbers.
Many defects can be traced back to bad coding standards such as single return in functions causing 20 indentation levels and old C standards where variables had to be declared at the start.
There are way too many dependencies in each module, the interfaces are too large.
Variable naming is terrible (with Hungarian notation as well), no principles such as SOLID are followed.

My manager says that the code simply is too big and old to change for the better, also many developers have an EE background and can't be bothered to learn modern practices. Is he right?
Is the best solution no solution, instead just to keep slapping on requested features and bug fixes?