A guess of mine would be- 20 gallons is not enough territory for 2 pairs of convicts. The pairs are probably stressed out by each other's presence. This could cause them to prematurely eat the fry, and also to hold off on having another batch. I would keep your favorite pair and re-home the others, or put them in another tank.