Fiz um pouquinho diferente: mudei o texto do botão que já existe dinamicamente e, o mesmo botão, mostra e oculta a lista:
function mostraTintas(e) {
const tintas = document.querySelector("[data-lista]")
const botao = document.querySelector("[data-button]")
const visivel = window.getComputedStyle(tintas)
if (visivel.display === "none"){
tintas.style = "display:block"
botao.innerText = "Aluratintas em estoque (ocultar) :"
} else {
tintas.style = "display:none"
botao.innerText = "Aluratintas em estoque (exibir) :"
}
}
coloquei data attributes na lista e no botão:
<button onclick="mostraTintas(this)" data-button>Aluratintas em estoque:</button>
.
.
.
<ul class="lista" data-lista>