I have a couple of reasons:
1. Not all the heroes are able to fit with Luminary’s/Erdrick’s fighting style. Arus (Seven) and Nine are smaller than the other heroes, so they wouldn’t fit. Abel (Five) on the other hand uses magic as his main fighting style rather than melee weapons, so he wouldn’t feel as true to character.
2. Now this is my speculatory take, but I feel it’s the main reason for lack of all 8 alts being heroes was because the number of heroes that could work was uneven. Aside from the ones I mentioned wouldn’t work, there are only three heroes left that could work: Alef (One), Allen (Two), and Rek (Six). So that would make the number of heroes 7, leaving one slot open. I have a feeling that with only seven heroes and eight alts, Sakurai didn’t want any of the heroes to seem favored over another by giving one an extra alt, so he decided to stick with four instead.
It sounds dumb, but every character with a different costume had either 1 or an even number of alternates dedicated to it aside from the default look. For instance, Avatars had 4 for each gender, Ridley was given 2 for his Meta design, Bowser Jr. and the Koopalings occupied all 8, and Mario has two different alts, among many more examples of other characters having an even number of alts per costume. The only one who didn’t I believe was Little Mac in Smash 4 and they dropped the number of alts he had to 8 in Ultimate.
I don’t believe the whole stingy Square arguement, because Sakurai did say that Smash was given an exception.