Dont know whether its related or not, i was struggling with similar py & python problems. Have understood below dont know correct or not. i have python 3.13 & 3.12 installed (both were added to path). later i renamed python 3.12 exe file as python312.exe & modified the same in PATH in environment variable. below what i observed:
py launcher (uses py in CMD not Python)
when do py -0 it gives all python installed on system i.e 3.12 & 3.13
when i do py --version it showes only 3.13. maybe because py launcher isn't able to find version 3.12 due to me renaming the exe file.
when did python --version it showed up only 3.13 & doing python312 --version shows 3.12 only meaning in PATH environment variable both versons have separate names & python word forces to look PATH and py launcher isnt used.
i am a begineer at code feel free to correct or add up more to this!