Seu código está bom, Yasmin. Contudo, há algumas melhorias que podem ser aplicadas para deixá-lo mais otimizado em termos de legibilidade e manutenção. No seu código atual, você fere um dos princípios mais importantes: o DRY (Don't Repeat Yourself), que significa "Não se repita". Isso é prejudicial do ponto de vista da manutenção, pois, ao invés de alterar algo em um único local, você precisaria modificar cada ocorrência duplicada — o que é custoso.
Isso acontece no seu código com as seguintes instruções:
System.out.println("Escreva os nomes de cada funcionário (Digite 0 para sair): ");
e
String nomeFunc = input.nextLine();
que se repetem nas linhas 12 e 13, e novamente nas linhas 17 e 18.
Para resolver isso, você pode utilizar uma estrutura do-while, que sempre executa o bloco ao menos uma vez antes de fazer a verificação condicional.
Aqui estão duas formas que propus para tornar o seu código mais fácil de manter e, principalmente, mais legível:
Do While
package com.github.rickmvi.challenge18;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class AddElementList {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        List<String> listaNomes = new ArrayList<>();
        do {
            System.out.println("Escreva os nomes de cada funcionário (Digite 0 para sair): ");
            String nome = input.nextLine();
            if (nome.equals("0"))
                break;
            listaNomes.add(nome);
        } while (true);
        System.out.println("\nLista de Funcionarios");
        listaNomes.forEach(nome -> System.out.println("- " + nome));
        input.close();
    }
}
While
package com.github.rickmvi.challenge18;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class AddElementList2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        List<String> listaNomes = new ArrayList<>();
        while (true) {
            System.out.println("Escreva os nomes de cada funcionário (Digite 0 para sair): ");
            String nomeFunc = input.nextLine();
            if (nomeFunc.equals("0")) break;
            listaNomes.add(nomeFunc);
        }
        System.out.println("\nLista de funcionários:");
        listaNomes.forEach(nome -> System.out.println("- " + nome));
        input.close();
    }
}
Dessa forma, se o nome do funcionário for igual a "0", o loop é encerrado imediatamente, evitando a repetição desnecessária de código.