Sending one email when all jobs completes successfully
The way I've achieved this is to add two steps to each backup job.  The first writes to a results table; it doesn't matter where this lives so long as all jobs can reach it.  The second step runs sp_start_job, targetting a common, new job.

This new job has three steps.  One, check the results table.  If any backup job has not yet reported then stop.  If all backup jobs have reported success then continue.  Step 2 - reset the results table.  Step 3 - send the email.  Two and three can be reversed depending on your tolerence for failure and your recovery practices.

The results table can be managed by insert/truncate or update/update.  You can get inventive with run numbers and history logging, too, I've that's needed.

You have to think how you want to recover from failed jobs?  Purge the results and start all again?  Re-start failed jobs only?  Have a precursor step which launches your backups, which then must be idempotent etc. etc.