You’re complaining that DOS lacked features and protections. But zero cost abstractions like DOS can still be robust (in the sense of being reliable and solid.) yes it requires more trust, But there is no guarantee modern OSes can run arbitrary zero-trust binaries.
If you run a buggy program on a modern OS, it won't crash the system or impact other processes. If you run a buggy program on DOS, it will write to random physical addresses, probably clobbering the state of other processes and of DOS.
Modern OSes can run arbitrary binaries, but they can pretty much run arbitrary non-adversarial binaries - problematic binaries have to be intentionally written to exploit the system (as opposed to DOS, where non-problematic binaries had to be intentionally written to not break the system).
It doesn't matter what OS I run. My "modern", and apparently buggy, CPU runs arbitrary systems that I know very little about, and I have little to no control over.
DOS did nothing and so people extended it with TSR's: "terminate and stay resident" programs. These were a nightmare. They had "conflicts": users had to experiment with the order in which they were loaded to make them like each other. Some of them were interrupt-driven and yet needed to call into DOS, which would be bad if the interrupt had gone of in the middle of DOS. So they tried to guess whether that was the case.