Some time technical debt needs to be eliminated. Keep backward compatability would have meant keeping technical debt. Breaking changes are fine.
Thus Python3 failed (and frequently, continues to fail) to be a compelling upgrade to anyone but unicode purity fetishists.
Huh? No new project of any note is using 2. Everyone has either upgraded to 3 or never even learned 2 to begin with.
This is something people are getting paid to do; maintain their codebase and keep it up-to-date.