Because there is some many ways of writing the same program, programmers don’t want to continue somebody’s else projects. They have their own vision how to do it correctly.
The problem is so big that we don’t have to even consider a whole program. Just a single one page long function can be written in thousands of ways. The algorithm seems to be in the center of the evil, but also the code organization can be a big discourage to many. It is definitely to me. Having naming standard in the project is a big plus.
I like to compare programming to building houses. Rather small number of house builders will replace a whole wall in order to put a shelf on it. But rather a big number of programmers will replace a bunch of classes if they are missing function to do something.
What is the reason for that? An immature technology? Because the house building was tested for centuries. But maybe something so simple as universally usable components would help. We need real bricks…