Oi Kaiky, tudo bem?
Sua pergunta é muito pertinente e mostra que você está realmente se aprofundando no Angular!
Em Angular, temos três tipos de diretivas: Componentes, Diretivas Estruturais e Diretivas de Atributos. As diretivas que você mencionou, como ngModel, ngIf, ngFor e ngStyle, são exemplos de diretivas estruturais e de atributos. Elas manipulam o layout e comportamento dos elementos do DOM.
Por outro lado, formControlName e formGroup são parte do módulo ReactiveFormsModule do Angular, que é usado para criar formulários reativos. Eles não são diretivas, mas sim atributos que você usa para vincular partes do seu modelo de formulário (FormGroup, FormControl) aos elementos do formulário no template.
Então, para responder sua pergunta, formControlName e formGroup são chamados de atributos, mas eles são especificamente atributos que você usa para criar e manipular formulários reativos no Angular.
Para exemplificar, imagine que você tem um FormGroup chamado 'meuFormulario' que contém um FormControl chamado 'meuCampo'. No seu template, você poderia ter algo assim:
<form [formGroup]="meuFormulario">
<input type="text" formControlName="meuCampo">
</form>
Neste exemplo, 'formGroup' e 'formControlName' são os atributos que você está usando para vincular seu modelo de formulário aos elementos do formulário no template.
Espero ter ajudado.
Um abraço e bons estudos.