Olá Julio!
Esse erro está acontecendo pois sempre que usamos a sintaxe de colchetes no dicionário, ele sempre irá buscar pela chave, nunca pelos valores, dessa forma: dictionary[key]
.
Para fazer o print dos valores, basta fazer:
for valores in cadastro.values():
print(valores)
Quando você usa o comando for chaves in cadastro.keys()
funciona, pois ele passa por cada uma das chaves ['matricula', 'dia_cadastro', 'mes_cadastro', 'turma']
e acessa o dicionário retornando os valores. Ex: Se quisessemos acessar o número da matrícula seria cadastro['matricula']
e retornaria o valor 68146841.
Uma alternativa para imprimir os valores seria usar o método "items()" da seguinte maneira:
for chaves, valores in cadastro.items():
print(f'{chaves} : {valores}')
Desta forma, o método retorna a chave e o valor separadamente, fazendo com que você consiga verificar a chave e o valor ao mesmo tempo.
Para aprofundar mais nos dicionários python, você pode acessar a documentação:
https://docs.python.org/pt-br/3/tutorial/datastructures.html#dictionaries