My ammo and nitrites are always 0
The key here is that the ammonia in a tank is never zero. Otherwise it defeats the purpose of having filtration. And there are a variety of organisms that consume ammonia in a tank, not just the nitrifying bacteria.
What happens it that when the nitrifying bacteria isn't coping for one or another reason, other organisms like diatoms pop up and compensate by consuming the left over ammonia. The end result is you seeing no reading on the ammonia test but your tank gets diatom outbreaks. Other tanks may get an algae outbreak instead, e.g. black brush algae, etc..
In fact, what matters in a tank is not the level of nitrates, but the actual amount of ammonia that goes through nitrification in order to become nitrates. However, we have no way of measuring what ammonia is produced, so we measure nitrates instead. If you need to do too much water changes to keep nitrates at 0(not taking into account the unreliability of nitrate tests in the first place), then there is too much bioload in the tank.
What I would do to remedy this is:
Keep the filter media clean of detritus(pre-filter on the intake helps);
Increase surface agitation to increase oxygen content which in turn will speed up nitrification;
Feed the fish less. Overfeeding is a possible issue;
Add one more filter. Its possible the filtration is not sufficient for the bioload. Or add easy emersed plants such as photos plant to consume the extra ammonia. Underwater plants work well too if the inhabitants can tolerate them.
If not of the above works, you need a bigger tank. (just saw that the tank is only 29G)...I think you simply need to upgrade and the tank can't cope with the bioload from the fire eels anymore)