Unfortunately the site you have been looking at has confused you by using the word "instructions" to mean two different things.
A machine instruction tells the machine to do something. For instance, on the Intel 8080 the instruction with byte value 3E says "Read the byte after this, and store it in the A register".
In assembly terms this is MVI A,xx – where "xx" is a number. It is convenient to call this "an assembly language instruction", but this is not really an instruction. It is the letter M followed by the letter V followed by the letter I and so on, and it is the job of the assembler (a program) to read those letters and output the byte 3E followed by a byte containing the number "xx".
No machine executes assembly language instructions. Machines execute machine instructions: that is, they look at a byte in memory (identified by the program counter) and perform - in hardware - whatever action the designer have decided should be performed when that byte is seen. In the example I have given this is: add 1 to the program counter, read the byte in memory which is identified by the program counter and store it into the A register, add 1 to the program counter.
An assembly language instruction is generally translated, by the assembler, into a byte or sequence of bytes which make up one single machine instruction. Thus in the example I have given, "MVI A,7" would be translated into "3E 07".
Sometimes it is more convenient for the programmer if one programmer-written instruction performed an operation that takes more than one machine instruction. For instance, the 8080 can only add numbers to the A register and not to any of the others. Suppose that you find yourself wanting to add a number to the C register, not the A register. Then you would have to move C to A (MOV C,A), add the number to A, (ADI xx), and move the result to C (MOV A,C). Moreover, you would not want the value of A to be changed by this, so you might want to save A beforehand (PUSH PSW) and restore it afterwards (POP PSW).
You wouldn't want to be writing such a long sequence of instructions every time. It is not only tedious, it is error-prone. What you would like is to have a new "instruction" which looks something like "ADIC xx" and which gets translated to the sequence of machine instructions which will save A, move C to A, add xx to C, move A to C, and restore A.
That is what a macro invocation is. It is like inventing a new instruction. When you specify it to the assembler you will normally specify it as "When you see this new instruction, process the following assembly instructions" - which in this case would result in emitting the five machine instructions F5, 79, C6 xx, 4F, F1.
The machine does not know that any of this has happened. The machine just executes machine instructions. It doesn't care whether you those instructions come from an assembler translating a built-in code like "MVI", or a macro defined by you - or from a compiler. It doesn't matter. It is all the same. Machine instructions are machine instructions.
Thus to answer, literally, the question you asked: as far as the machine is concerned, executing the program, "assembly macros" do not exist, and do not need to be loaded. But I hope the longer answer has given you a clearer understanding.