Three food companies have recalled 23 batches of baby food supplement after they were found to contain excessive levels of mercury.