Oi Caio,
O problema que você está enfrentando na função listar_task é que você está chamando input('Digite algo e volte ao menu') dentro do loop que itera sobre as tarefas. Isso faz com que o programa aguarde uma entrada do usuário após listar a primeira tarefa ativa, fazendo com que ele não continue listando as demais.
Para corrigir isso, você deve mover a linha de input para fora do loop. Assim, o programa irá listar todas as tarefas ativas antes de solicitar uma entrada do usuário. Aqui está como você pode fazer essa alteração:
def listar_task():
os.system('cls')
for task in tasks:
if task['ativa'] == True:
print(f'. {task["nome"]}') # Use aspas duplas para a chave 'nome'
input('Digite algo e volte ao menu') # Move para fora do loop
menu()
Com essa modificação, todas as tarefas ativas serão listadas antes de retornar ao menu.
Além disso, note que no print, você deve usar aspas duplas para acessar task['nome'], pois você já está usando aspas simples para definir a string.
Essa mudança deve resolver o seu problema e permitir que todas as tarefas ativas sejam exibidas corretamente.

Caso este post o tenha ajudado, por favor,
marcar como solucionado ☑️.
Bons Estudos! 🤓