Pętla nie wykonuje się 5 razy, ponieważ następuje iteracja o 2, samo for w pythonie za każdym wykonaniem zwiększa wartość o 1 i do tego przez fragment
i = i+1
zwiększa się jeszcze o 1.
Jeśli chodzi o wyłączanie się po załamaniu pętli to nawet tego nie sprawdziłem, ponieważ u mnie program działał fatalnie, myślę, że to z powodu tego, jak program sprawdza czy klawisz jest wciśnięty. Do tego programu który ty chcesz zrobić lepiej niż bilbioteki keyboard użyć biblioteki pynput. Podrzucam przy okazji dokumentacje pynput'a https://pynput.readthedocs.io/en/latest/
Jeśli chcesz pójść na łatwiznę to tutaj masz film w którym autor robi program w prawie identycznimi zamiarami. https://www.youtube.com/watch?v=n_dfv5DLCGI