Words change over time, like "gay" (happy -> homosexual), "chaperone" (a type of hat -> someone who looks after others), "clue" (a ball of yarn -> a piece of evidence). I hope you're not arguing that words shouldn't change.
Traditional engineers built fortifications and siege weapons, but now we have "chemical process researchers" or "chemical process designers" calling themselves "chemical engineers". What gives? Like other engineers, software engineers design real-world systems in such a way as to minimize cost while meeting objective requirements. Similar to mechanical engineers, software engineers build real, physical machines that perform quantifiable tasks--the major difference is that the software engineers are designing the non-tangible parts of the machine.
I'm not saying that tinkering with programs makes you a software engineer. Kids (or adults, more likely these days) playing with erector sets aren't engineers either.
As you say software engineers build real physical machines, building a crud app doesn't make you a software engineer, but many people call themselves software engineers without applying any hard sciences.
The fact that carpenters build houses does not diminish the accomplishment of engineers who build skyscrapers; the fact that novice programmers can build CRUD applications does not diminish the accomplishment of software engineers. The only reason that this is an issue today is because most people are old enough to remember when "software engineering" was not a thing.
You cannot do that with surgery. Or, well, you theoretically can, but it's much more hands on and almost certainly requires in-person mentorship.
But I take it your answer is "yes", then - if someone is a better software engineer and an accomplished luminary in the field, who progresses engineering itself forward, we shouldn't call her an engineer without a degree. Is that your position?
At the risk of being accused of developing a strawman - I'm not. I'm developing a baseline. Calling someone an engineer without a formal education is binary. If it can be done under any reasonably achievable circumstance, it's fair to say that you can be an engineer without a degree.
Engineer has a specific connotation to the outside world, developed over centuries. We'd like to use it because we tinker with programs, and invent new things, but it's misleading to the general public. Should I call my self a Software Surgeon because I fix up bugs?