your question is a litle bit confusing, i'll do my best to answer it.
Do I need to create a individual rule for each action? Only the first action is firing rules.
You'll need 2 rules, one for node 'flagged & uptaded' (rule 1) and one for new comment (rule 2)
Rule 1: add a condition: entity is of type: your content type, this will make accesible your node. second condition: node is flagged, Actions: Loop your list and send emails.
Rule 2: restrict content type.
then condition: node is flagged (parent node of new comment)
Actions: Loop your list and send emails.
Due to your comment, your problem is in your loop, insted use views rules module, build two rules-views on NODES to load only UID's and agregation (one rule for every rules-view, view 1 for rule 1, view 2 for rule 2) with your flag relationship and propper filters to show only 'flagged nodes' or 'new commentes on flaged nodes'(one for node, one for comments), load the views-rules of UID's and inside view-loop send your emails, here is a similar situation that explain how to use views-rules module How to configure the CONTEXTUAL FILTER in a View for Rules?