Olá, Pedro. Tudo bem?
Quando você guarda uma função anônima dentro de uma variável é preciso "chamar" essa função no evento do onclick.
Dessa maneira o nome da varíavel precisa receber o (), como um sinal para que a função guardada dentro da variável botaoClicado seja executada no clique do botão, quando estamos falando do mundo HTML, fora das tags <script>
.
Assim, se você alterar o seu código do botão para:
<input type="submit" id="advinhar" value="Compare com o meu segredo" onclick="botaoClicado();"/>
tudo deve ocorrer normalmente.
Caso você estivesse carregando a função entre as tags <script>
não seria necessário chamar a execução dessa função através do (), ficando a chamada dessa forma:
var botao = document.querySelector("#advinha");
(...)
botao.onclick=botaoClicado;
Espero ter ajudado!