To be fair: it's people using Docker that's the problem. For example expecting to be able to run an x86 container image on an aarm64 CPU. Docker is behaving perfectly in it's role of being Docker.
How can a CPU make architecture differences (the main issue dealt with by Docker users) disappear? The only way that could happen is if the M-series were x86-64 rather than ARM, which dramatically reduces the possibility space for advancement in user/developer-facing CPUs.
The most that can practically done is a software solution like Rosetta, which is a good holdover in the interim, but ultimately software needs to become more architecture-agnostic, not less. Treating archs matching between development and prod as a given is a crutch, not a long term solution.
The people didn't understand what they were actually doing, and somehow believed that Docker is a magic wand that makes binaries for the wrong CPU run ok.