Estou tentando entender a utilização do remove para todos os botões somado a adição da classe no botão clicado. Eu entendi o seguinte:
Como a função alterarContexto está sendo chamada antes de botaoX.classList.add("active"), antes a classe active será removida de todos os botões (pela utilização do .forEach) e depois a classe active será adicionada apenas no botão que foi clicado, e por isso só teremos a mudança de classe no botão clicado.
É isso mesmo que acontece?