Para aprender a mexer com os scripts, mais a frente ele explica na aula, só que eu sou meio metido e já atropelei a matéria.
O porquê de utilizar é que você basicamente roda vários comandos através de um apelido para ele
no meu caso, ao escrever npm run test ele roda os 2 comandos (setar o NODE_ENV e o mocha).
Parece simples 2 comandos, porém onde trabalho já possuímos 2 linhas grandes de configuração dentro de um script, imagine toda vez que for rodar o programa ter que escrever essas 2 linhas? Inviável certo?
Além disso, se você trabalha em equipe e você usa esses scripts configurados e a partir deste momento, toda vez que alguém executar o script "producao" é necessário (por exemplo) minificar o código, então você coloca no script e sempre que qualquer um da equipe rodar o comando "producao" automaticamente vai minificar o código sem que você precise avisar, além de evitar alguém esquecer a minificacao.
Em relação ao SET eu não utilizo muito, então usei só na aula, então não vou conseguir te ajudar, porém caso queira se aprofundar um pouco mais em comandos npm, você pode olhar esse link https://docs.npmjs.com/misc/config. Porém espero que alguém consiga te explicar melhor essa parte.