Boa noite Vander!
Eu também sou um novato e vou tentar passar o pouco que sei. Ferramentas de uso comum em vários projetos, como o angular/cli (Utilitário que permite executar os comandos angular do projeto: "ng new..." ; "ng serve", etc), deve ser instalado uma única vez de forma global p/ todo o SO(sistema operacional). Então o angular/cli não deve ser instalado para cada projeto. Na verdade, quando você repete o comando, está sobrepondo a instalação global que já existe daquele pacote(angular/cli). Outra coisa a ser esclarecida é o fato de que a instalação global desconsidera o diretório corrente da execução do comando em questão. Então o angular/cli faz parte do pre-requisito para o ambiente funcionar e deve, assim como os outros itens, ser instalado apenas uma vez. Imagine se fosse necessário instalar o vscode toda vez que você criasse um novo projeto. Espero que essa primeira parte você tenha entendido.
Continuando, quando você cria um projeto novo como o comando "ng new nomedoprojeto", o "npm install" é executado automaticamente por debaixo dos panos, criando uma pasta de nome "node_modules" no mesmo nível hierárquico da pasta source. Cada projeto deve ter sua própria pasta "node_modules" com seus pacotes dos quais depende. Agora se você já pega um projeto de algum repositório, geralmente a pasta "node_modules" não estará presente por n fatores que não vem ao caso, mas cabe ao programador instalar os pacotes, o que geralmente ocorre através de um gerenciador de pacotes como o NPM. É aí que entra em cena o "npm install", que deverá ser executado no local correto, ou seja, na raiz da pasta do projeto, no mesmo nível hierárquico da pasta "src".
Bom, é isso. Não sei se deixei de responder algo ou se o que eu disse ficou claro. Seria melhor se postasse imagens, mas estou pouco sem tempo. Conseguiu entender?