Por que juntar arquivos CSV dá errado
O CSV parece o formato mais simples da computação e é um dos mais inconsistentes. Não existe nada dentro do arquivo dizendo qual separador ele usa, em que codificação foi escrito, ou como um valor que contém vírgula foi escapado. Todo programa adivinha, e quando dois programas adivinham diferente você recebe uma bagunça que só aparece depois que os dados já foram unidos.
O problema do acento, que na verdade é de codificação
Se você já abriu uma exportação e viu "Regi?o" onde deveria estar "Região", isso é um arquivo escrito em Windows-1252 sendo lido como UTF-8. É a reclamação mais comum sobre CSV em português e espanhol, porque a maioria dos ERPs e as versões antigas do Excel ainda exportam na codificação antiga. Aqui os bytes são examinados em vez de presumidos: o UTF-8 tem gramática estrita, então arquivo que a viola é lido como Windows-1252. Você também pode forçar qualquer uma das duas.
Ponto e vírgula ou vírgula
Em países onde o separador decimal é a vírgula, as planilhas exportam CSV com ponto e vírgula, porque senão 1,50 se partiria em duas colunas. É por isso que um arquivo vindo de sistema brasileiro ou europeu muitas vezes se recusa a abrir direito numa ferramenta que espera vírgula. O separador é detectado pelo conteúdo, e dá para sobrescrever quando o arquivo for estranho — uma exportação separada por tabulação salva com extensão .csv, por exemplo.
Cabeçalhos que não se encaixam
O trabalho de verdade não é empilhar linhas, é garantir que as colunas correspondem. Colar uma exportação embaixo da outra quando a ordem das colunas difere põe data na coluna de valor e nada avisa; a soma continua fechando. Casar pelo nome do cabeçalho elimina esse risco, e a opção flexível ainda ignora acento, para quando uma exportação escreve "Regiao" e outra "Região".
Por que roda no navegador
Exportação em CSV é como o dado sai de um sistema, o que significa que normalmente é o todo de alguma coisa: todos os clientes, todas as transações, todos os funcionários. Subir isso para um serviço web para concatenar é um risco desproporcional para uma operação de texto. Aqui cada arquivo é decodificado e lido na memória, e a única coisa que sai é o arquivo que você baixa.
Como sai o arquivo final
O arquivo unificado é gravado em UTF-8 com marca de ordem de bytes e com ponto e vírgula como separador. A combinação é proposital: é a marca que faz o Excel abrir um arquivo UTF-8 com os acentos intactos em vez de adivinhar, e o ponto e vírgula impede que a vírgula decimal parta um número em duas colunas. Se você precisa de vírgula como separador, escolha XLSX na saída e deixe o Excel exportar, ou abra o resultado e salve de novo com os ajustes que o destino espera.