The problem is that you’re using conditional logic to hide/show the other fields. Fields that are hidden by conditional logic are not submitted and this is where you’re running into a problem. Only the fields that are shown are being updated.
If you want functionality like this in ACF, you’ll probably need to write your own JavaScript to do it.