Oi, Jose, como vai?
O seu código tem a lógica principal bem direcionada, mas existem dois pontos importantes sobre o comportamento dos métodos de array escolhidos. O método filter serve para retornar uma nova lista baseada em uma condição verdadeira ou falsa, portanto ele precisa de um comando de retorno e não deve ser usado apenas para imprimir mensagens. Da mesma forma, o método map transforma todos os itens do array original e, ao usar um if sem um else, os elementos que não entram na condição acabam sendo registrados como undefined no novo array.
Como exemplo de ajuste, o ideal é primeiro criar uma variável que receba o retorno do filter com a condição da idade. Com essa lista de pessoas já filtrada em mãos, você pode usar um método como o forEach para percorrer e imprimir as mensagens de acesso liberado de cada um. Depois, basta aplicar o map nessa mesma lista filtrada, retornando apenas o nome do participante, o que resultará em um array final apenas com os nomes corretos e sem valores indefinidos.
Parabenizo você pelo empenho em resolver a atividade e agradeço por compartilhar a sua solução com a comunidade. Continue se dedicando aos estudos e saiba que o fórum está a disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!