How to set value to an unlimited field collection using Rules?
I see 2 errors in your rule, which is about processing a list of field collection items. Each of these errors is further explained below (though I'm not sure if they are the only errors).

Error 1: Rules Condition 'Entity has field' is missing

You should add a Rules Condition "Entity has field" (prior to being able to use it anywhere later on in your rule), which refers to your field collection field. Since your rule doesn't have such condition yet, it may also explain why you got those blank values so far.

For way more details about this, refer to "How to iterate over all field collection items in an eMail body using Rules?" (which also includes a rule in export format you may want to experiment with, if you only adapt some machine names of the used fields).

Error 2: 'Set a data value' needs to be replaced by 'Add an item to a list'

The Rules Action Set a data value that your Rule uses, can only set 1 value, while you're trying to update something that is a list.

So try to replace that action (ie the first data_set within the loop) with an action "Add an item to a list". When doing so, you probably also want to set "ENFORCE UNIQUENESS" to true, so that you "only add the item to the list if it is not yet contained". Even though for your case it may not make a difference, IMO that is a kind of safety-belt when using this action.

For way more details about this, refer to "How to set multiple values to an unlimited Term Refence field with Rules". While reviewing this, also pay attention to the "Fetch entity by ID" (within the Rules loop): I'm about sure (99%), you'll also need to add a similar "Fetch entity by ID" (but from the variable names you used in your rule it's hard to tell).