Odpowiedź na ostatnią część pytania: „Również starsze wersje nie są usuwane automatycznie po zainstalowaniu nowszych wersji, tak jak w systemie Windows?”
Odpowiedź jest jasna i dobitna: Nie.
Starsze wersje nie są usuwane po zainstalowaniu nowych wersji.
Zbyt duża część naszego ekosystemu oprogramowania została zbudowana w oparciu o Python 2.x, aby można go było wykorzystać. Usunięcie go złamałoby wiele naszych poleceń.
Poza tym Python 3 oferuje niewiele, co byłoby atrakcyjne dla programisty Pythona 2.7. Jeśli uznasz, że potrzebujesz tych funkcji, możesz użyć Python3. Jeśli nie, ludzie tacy jak ja pozostaną przy Pythonie 2.x
Jak wspomniano w innych odpowiedziach, nie są już tym samym językiem.
Jest to jak różnica między programami, które mogą działać w systemie Windows 98, ale nie mogą działać w systemie Windows 2000. Programy, których używałeś pod Win98, musiały zostać ponownie wydane po skompilowaniu dla 2000 ( 32-bitowy). Windows 2000 nie przyjął się na rynku konsumenckim, ponieważ spowodowałby, że konsumenci musieliby ponownie kupować swoje ulubione produkty. Dopiero w systemie Windows XP w końcu udało się to, aby programy obu typów mogły działać w tym samym systemie operacyjnym Windows. Mamy szczęście, że Microsoft wyciągnął wnioski z tej lekcji i że programy 32-bitowe i 64-bitowe można uruchamiać w każdej nowoczesnej wersji systemu Windows.
Wracając do pytania w tytule, „Czy potrzebujemy wielu wersji Pythona?” - zależy to od oprogramowania, którego chcesz używać. Jednym z wyróżniających się przykładów jest sprzęt do latania. Bez Pythona3 nie będzie działać.