Fala Janaina, tudo bem?
Sobre o seu código, acredito que esteja ocorrendo pois seu JS está sendo carregado antes do carregamento completo do DOM. Com isso, o JS não encontra o seu elemento h1. Neste caso, você pode inserir o seu código dentro do DOMContentLoaded, garantindo que seu JS rode apenas quando todo HTML for carregado.
Além disso, no primeiro trecho, eu substituiria o querySelector pelo getElementByTagName, pois o querySelector é bastante genérico, então pega classe, id, enfim.
Sobre as demais funções, seu HTML precisa chama-los de alguma forma. Por exemplo:
<button onclick="aparecerAlerta()">Aparecer Alerta</button>
document.addEventListener('DOMContentLoaded', function() {
let titulo = document.getElementsByTagName('h1')[0]; //Aqui estou pegando o primeiro elemento H1, estou usando esse contexto pois não tenho certeza da sua estrutura HTML
titulo.innerHTML = 'Hora do Desafio:'; //Aqui removi os parenteses pois não há necessidade.
});
function botãoConsole() {
console.log('O botão foi clicado.');
}
function aparecerAlerta() {
alert('Eu amo JS!');
}
function botãoPrompt() {
let cidade = prompt('Escolha uma cidade do Brasil');
alert(`Estive em ${cidade} e lembrei de você`);
}
function fazerSoma() {
let number1 = parseInt(prompt('Me diga o primeiro número'));
let number2 = parseInt(prompt('Me diga o segundo número'));
let soma = number1 + number2;
alert(`A soma de ${number1} e ${number2} é ${soma}`);
}
Abaixo a documentação, se precisar:
https://www.w3schools.com/jsref/met_document_getelementsbytagname.asp
Espero ter ajudado.
Grande abraço!