High Level Assemblers vs Compilers?
The verb assemble and the noun Assembler is useful when it's important to point out that the program generates machine code with a 1:1 correspondence to the atomic instructions of the (Assembly) language.

But only a few simple directives (e.g. macros) need be added to the Assembler to reach something that gives more readable and compact code that can be, for all intents and purposes, considered high level.

If this was all that was added, you supply the actual macros, e.g. FUNC, CALL, STRUCT, etc. yourself, and can build your own language.

These macros are not the atomic Assembly Language instructions; nor are the directives built into the Assembler that lets you create them. Neither the macros you write, nor the directives are part of the agreed-upon Assembly syntax for the CPU.

For most intents and purposes, Compiler can be substituted for Assembler, and it's clear that you mean the program that generates an exe from text (or a tool). Perhaps some distinction could be useful when you mean language-specific such programs that can't parse Assembly, but there are ones that can do both.