No caso que fazemos o programa ler tanto letras maiúsculas ou minusculas de forma igual, foi feito da forma: if (chute.upper() == letra.upper()):
não poderíamos atribuir o upper no próprio chute, como foi feito com o strip?
ficando:
chute = input("Qual letra?")
chute = chute.strip()
chute = chute.upper()
index = 0
for letra in palavra_secreta:
if(chute == letra):
Não ficaria mais fácil para quem está lendo o código ver tudo o que o programa trata depois de receber a variável do usuário?