I started this week fixing a few minor errors, before implementing the spawn mechanics.
Implementing spawn mechanics had its own issues. A lot of the issues I had were getting the counters to work, and random number generators spitting out numbers that didn't correspond to a fish.
The reason why the fish didn't obey the cap was because of an error where the cap was five fish in a scene, instead of my intended four. I just needed to tweak the Random.Range a bit to get it working properly.
The phantom fish were a similar issue, as the random number generator that managed spawning was not rolling the correct numbers. I ended up with a number that didn't correspond to a fish, therefore no one spawned in. I adjusted my number generator and the if statement that checks the number and it started working.