Bom dia, Yara!
dataNascimento, evento, validaDataNascimento, dataRecebida, maiorQue18, dataRecebida, messagem, dataAtual, dataMaisDe18,
São variaveis, então se eu colocasse qualquer outro nome funcinaria do mesmo jeito?
- Sim, é tanto que está em português facilitando a identificação já que as palavras reservadas da sintaxe das linguagens de programação por padrão são derivadas da língua inglesa. O nome das variáveis são preferência ou conveniência do programador, então você é livre para atribuir qualquer nome e valor para armazenar na memória de seu programa. Existem três tipos de "variáveis" no Javascript 
var, let e const, a diferença entre elas você aprende com o tempo. 
Uma página web é um documento, este documento é escrito através de códigos, nós chamamos este documento de (DOM) que significa Document Object Model, e o DOM por sua vez é uma interface de programação (API) para os documentos HTML. Isto significa basicamente que através do DOM podemos se conectar à página e ao arquivo HTML via uma linguagem de programação.
document é a pagina inteira html
- Basicamente sim, com o 
document estamos acessando o DOM, ou seja o objeto de document representa o próprio documento da página, e através de querySelector estamos acessando um método deste documento (DOM): 
const dataNascimento = document.querySelector('#nascimento');
Então no código acima basicamente estamos atribuindo à uma constante,  o valor que document.querySelector retornar, basicamente o Javascript acessa o documento de sua página html e procura por um elemento que tenha o ID igual à nascimento, então este elemento html fica armazenado na variável dataNascimento.
querySelector, addEventListener, blur, target, value
Todos este valores são métodos, ou seja maneiras de acessar o documento da página via Javascript, e donde vem estes métodos? Exato, do DOM, por isso o DOM é uma API (Application Programming Interface ou  Interface de Programação de Aplicação), pois ele fornece métodos e maneiras de acessar o documento da página, da mesma forma que uma interface fornece diversas funções para você realizar sem precisar saber o que está por baixo dos panos. Agora analisando o código:
dataNascimento.addEventListener('blur', (evento) =>{
    validaDataNascimento(evento.target);
}) 
Acessamos a variável dataNascimento que está armazenando o nosso elemento da página HTML, chamamos o método addEventListener que é um método para elementos HTML, o  addEventListener basicamente ficará observando algum evento acontecer naquele elemento. Aí como parâmetros passamos o nome do evento (estes eventos são especificados na documentação, há diversas formas de interagir com um elemento html e todas possuem uma identificação), quando o evento blur ocorrer, nós dizemos que o evento foi disparado e assim pegamos o evento em uma função callback (evento) => { e aqui entre as chaves especificamos o que é para ser feito }, tudo o que estiver entre chaves nós dizemos que é o corpo da função, caso as chaves seja de uma estrutura condicional if por exemplo, dizemos que é o corpo do if, as chaves definem o escopo que aquele bloco lógico irar atuar.
Então o DOM torna possível acessar o documento HTML e oferece diversos métodos para trabalhar com estes métodos e elementos, com o tempo você conhecerá vários. E com isto, podemos acessar um elemento específico, detectar um evento específico e chamar uma função que nós mesmos criamos como validaDataNascimento() para validar a data de nascimento inserida pelo usuário.
validaDataNascimento(evento.target);
Por exemplo, em evento.target nós estamos pegando este evento e passando para nossa função: 
function validaDataNascimento(input){
    const dataRecebida = new Date(input.value);
    // O evento vem através do paramêtro input (que você escolhe o nome do parâmetro que quiser)
    // E após isto pegamos o valor que foi inserido naquele evento com input.value
    maiorQue18(dataRecebida);
    let messagem = '';
    input.setCustomValidity(messagem)
    if(!maiorQue18(dataRecebida)){
        messagem = 'Você precisa ter 18 anos para se cadastrar'
    }
Isto pode ser muita informação no primeiro momento, se quiser entender bem como isto tudo se conecta sugiro você realizar as seguintes formações em ordem:
Com isto você vai entender esses conceitos de boa e construir uma base de como funciona a criação de interfaces web e sua programação.