THIS exactly is what Software “professionals” have amazingly successfully been able to convince everyone. That somehow what we do is “special” and we just cannot possible tell you how long XYZ is going to take… Software “is almost always original” is the same argument as if an incompetent carpetner would say “sorry, no two kitchens are alike and while I use same sh*t to build them I have never built yours exactly and hence I’ll send you the bill when I am done.”
Some changes to software are simple, but even simple changes can at times have unintended consequences, triggering the need for substantial refactoring or abstraction or performance tuning. It is all case by case, and it's not fully possible to fully predict what's needed ahead of time.