The only two references to MGLED7 in the MGLED73 code are...Which is the declaration, and shouldn't be referencing a constructor or requiring constructor parameters
You are mistaken.
MGLED7 someObject;
IS creating an instance of the class MGLED7 in the variable someObject. Since there are no arguments defined, a no argument constructor is required to create the instance.
Now, a statement like:
MGLED7 *somePtr;
is simply declaring that there is a variable, somePtr, that will, possibly, in the future, point to an instance of the MGLED7 class. That would not invoke the constructor. But, that is not what you have,
If I use the code I started with in the MGELD73 constructor...I get exactly the same error.
You are confusing objects and pointers to objects (usually referred to as instances).
AND, if I comment out all constructor references and just declare the objects in the class declaration (first code snipped above), I STILL get that error.
Of course you will.
You need a no argument constructor that simply creates the objects, and an begin() method that initializes them with useful data, like the Serial class does.