Outras respostas enfocam a mecânica do recálculo e o papel das funções voláteis, mas acho que falta parte da essência da questão. Ele aborda as regras que foram empregadas, mas não tanto o "porquê". Vou me concentrar nisso.
Conceito de design
Deixe-me começar com um conceito de design e os blocos de construção das planilhas mais modernas. Existe uma "divisão de responsabilidade". Funções são rotinas dedicadas que executam uma tarefa específica e fazem isso toda vez que são solicitadas. Separado disso, o aplicativo de planilha eletrônica controla quando eles são perguntados.
As funções, por si só, não contêm nenhuma lógica para escolher recalcular ou não recalcular. A natureza de todas as funções do Excel é executar algum tipo de operação sempre que for acionado para isso. Nenhuma função possui sua própria "memória" de seu valor atual ou um histórico de seus cálculos anteriores. Não tem como saber se esta é a primeira vez que lhe é pedido que faça o seu trabalho. Portanto, nenhuma função nativa tem a capacidade de executar apenas uma vez. Se alguma função for recalculada, ela fará o que foi projetado e produzirá um novo valor.
O aplicativo de planilha contém algumas informações que permitem economizar tempo ignorando recálculos desnecessários (conforme descrito na resposta do teylyn). O recálculo de tempo de somente é ignorado é se o aplicativo souber que o valor da função não foi afetado pelas alterações da planilha que acionaram a necessidade de recalcular as coisas.
E se você precisar que uma função seja executada uma vez e depois preservar seu valor? Tome o seu exemplo de produzir um número aleatório e, em seguida, não ter o resultado alterado. Isso descreve a criação de constantes geradas aleatoriamente e você pode fazer isso com o Excel.
O Excel não sabe como você deseja usar seus recursos; Se você deseja continuar produzindo novos valores ou preservar o último conjunto. Cada opção é um caso de uso que o Excel suporta. O Excel acomoda os dois casos fornecendo as ferramentas para calcular novos valores e as ferramentas para preservar valores antigos. Você pode construir o que quiser. Mas o usuário tem a responsabilidade de fazer o que quiser.
Lógica de funções
Então, vamos ver a lógica do que a função faz. Pode fazer sentido para a lógica de recálculo ignorar uma função aleatória porque seu valor não deve ser afetado por outras alterações na planilha?
O fato de o valor de uma função ser ou não alterado no recálculo depende de sua finalidade e do que é baseado. Um cálculo em valores constantes sempre produzirá o mesmo resultado. Uma operação baseada em valores de células que não foram alterados produzirá o mesmo resultado.
No entanto, algumas funções são projetadas com a intenção e propósito de produzir um resultado diferente a cada vez. Considere, por exemplo, funções baseadas na hora atual. Eles produzirão um novo resultado com base no tempo de recálculo. Você não pode ter uma função cujo propósito seja produzir um valor baseado na hora atual e não atualizar quando recalculado.
O objetivo do controle de recálculo é sempre fazer com que tudo reflita o estado atual das coisas quando o recálculo é acionado. Esse critério não seria cumprido se as funções baseadas na hora atual não fossem atualizadas.
As funções "aleatórias", como RANDBETWEEN, têm o propósito de produzir um novo número aleatório quando recalculadas. É isso que eles pretendem fazer. Você poderia argumentar que o recálculo poderia ser ignorado porque o valor não deveria ser afetado por outras coisas que acontecem na planilha.
Se esse fosse o comportamento padrão, você estaria atualizando a planilha, mas o valor aleatório permaneceria constante. Isso não é um comportamento muito aleatório. Isso apoiaria um caso de uso, mas não o outro. Voltando ao conceito básico de design, ele é tratado como qualquer outra função. O comportamento padrão é fazer o Excel recalculá-lo. Se você quiser preservar o valor anterior para o seu caso de uso, cabe a você fazer isso com as ferramentas disponíveis.