If I am reading your post correctly, it sounds like you have a flow that triggers when an item is updated. You are making multiple updates but to different items within a very short period of time. The flow runs as designed and triggers every time the items are updated, but this is causing too many notifications to be sent out?
Concurrency control will not work, as it sounds like the flow run time is probably very short. Concurrency just limits how many runs of the flow can happen at the same time. It will not prevent the runs. They just get queued instead.
You also noted: "status flag fields on the data (once this status is updated don't run), delay, but nothing seems to work." How is that configured? Do you have a trigger condition so the flow only triggers if the status is not null? If so, that will not work either since the trigger condition is specific to each item in the list and not all items in the list.
If what I wrote above is accurate, about the only thing I see possible would be to create a scheduled flow that runs say every 30 minutes. You would use a get items action to get items modified in the last 30 minutes where the status is not null. You could then create a table of items updated using the Select action followed by the Create HTML table action and insert the HTML table into the e-mail notification.
This way, people would get at most one notification every 30 minutes.