Hi again!
One more question... you mention that 'I only want the field with content from Forms to populate the list, and that empty fields from Forms remain as they are in the SharePoint list. Now the value is set to zero in all fields that have no data, and only one month gets data.'
You mean you have one SP item per employee, and when updating a SP item, you do not want to delete already existing values in previous months, right?
So for example, an employee is filling the report for Febreuary, and some time ago he already filled values for January:

And you wanna keep old January value, and just add new February value right?

If so, I would do the following:
Now, I am identifying empty answers as you mention by means of empty() WDL function. What I am doing is to 'Get item' first and use Month output value to update the item if that Month's empty in the form. In order to understand WDL expressions better, I am storing each Month Forms response in a variable with the same Month Name:

Next, I am reading current SP item content for the emploee that provided a new answer, and I am using the following WDL expressions to update 'January', 'February', 'March' on 'Update item':
if(empty(variables('January')),outputs('Get_item')?['body/January'],variables('January'))
if(empty(variables('February')),outputs('Get_item')?['body/February'],variables('February'))
...
So my test flow looks as follows:

Hope this helps