Olá, Victor. Tudo bem por aí?
A lógica do pop() está correta e é exatamente o caminho mais direto pra esse tipo de problema, sem precisar calcular tamanho de lista nem usar índice manual. O ponto que merece atenção é o split, porque .split(", " and " e ") não funciona do jeito que imaginou. Em Python, a expressão ", " and " e " é avaliada antes de virar argumento do split, e como ambas as strings são "verdadeiras", o resultado dessa expressão é simplesmente " e ". Ou seja, seu split está separando só por " e ", ignorando a vírgula.
Por exemplo, pra entrada "água, uva e limão", a saída foi: "Aqui está a lista de usuários corrigidas: ['agua, uva']", ou seja, o split só separou no " e ", deixando "agua, uva" junto como um item só, e o pop() removeu o "limao". Pra aceitar entradas separadas por vírgula, o ideal é:
lista_usuario = input("\nDigite os itens, separados por vírgula: ").split(", ")
Parabéns pelo empenho em entender o motivo por trás da solução, e não só aplicar. O fórum está à disposição pra qualquer dúvida.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!