Developers have managers that tell them what to do. Developers can at most decide whether to accept a job in a maintenance or in a development team. Sometimes they just accept the first decent job, especially the first one out of school.
And managers care about their career and the size of their team is a proxy for their degree of success. If a company has 100 developers to create new software and 10 to bug fix, they want to be in the development team. If it's 100 to bug fix and 10 to build, it's the other way around.
It's not necessary but I saw big companies with different budgets for development, (manual) testing, maintenance, operations. The team for testing is definitely separated from the development one, different managers, goals, etc. Operations more like so. Maintenance and bug fixing could be done by the same people but there is always tension at management level about whether to prioritize new features or fix problems. There are different internal customers behind those requests and turf wars are fought every now and then. Different teams and different budgets solve part of that problem but of course the fixes of some bugs can become new features on their own and more turf wars follow.
And managers care about their career and the size of their team is a proxy for their degree of success. If a company has 100 developers to create new software and 10 to bug fix, they want to be in the development team. If it's 100 to bug fix and 10 to build, it's the other way around.