How do I Send a single mail with Rules and VBO?
Here is a blueprint to do what you're asking about:


Create a new variable, which you define as a "list of users" (so that you can use this list later on to "loop through this list").
Replace the "send an eMail" (within your existing Rule) by an action to  "Add an item to a list" (using the list you created via that new variable). When doing so, you make sure to set "ENFORCE UNIQUENESS" to true, so that you "only add the item to the list if it is not yet contained" (see where I'm going?).
In the end, the value of the new variable will contain a list of unique users. So just add another Rules loop (at the end?), to iterate over each of the users in that list. And guess what you can then do in this additional Rules loop ... indeed: send an email to each of those users. And since each user is only contained 1 time in that list, they will only receive 1 eMail.


Easy, no?