New execution-Prefill treats empty inputs as `"null"` values
### Explain the bug

Starting a new execution using _New execution - Prefill_ provides the literal value `"null"` for blank inputs - optional inputs with no default value. This leads to unexpected consequences during flow logic execution.

Request body using _New execution - Prefill_:
```
-----------------------------427174669639266022113998627081
Content-Disposition: form-data; name="foo"

null
-----------------------------427174669639266022113998627081--
```

Request body using just _New execution_:

```
-----------------------------120578406022738925912912645969--
```

Example flow:
```
id: hello-world-inputs
namespace: dev

inputs:
  - name: foo
    type: STRING
    required: false

tasks:
  - id: valid-value-or-not
    type: io.kestra.core.tasks.log.Log
    message: "{{ inputs.foo ?? inputs.foo ?? 'no valid value' }}"
```

### Environment Information

- Kestra Version: 0.12.0 as of Sep 26th 2023
- Operating System and Java Version (if not using Kestra Docker image):

ui/src/components/flows/FlowRun.vue
ui/src/components/flows/FlowRun.vue
diff --git a/ui/src/components/flows/FlowRun.vue b/ui/src/components/flows/FlowRun.vue
index a66721107d..f36eefcf1e 100644
--- a/ui/src/components/flows/FlowRun.vue
+++ b/ui/src/components/flows/FlowRun.vue
@@ -86,6 +86,7 @@
                 :label="$t('execution labels')"
             >
                 <label-input
+                    :key="executionLabels"
                     v-model:labels="executionLabels"
                 />
             </el-form-item>
@@ -196,9 +197,15 @@
                                 inputValue = JSON.stringify(inputValue).toString()
                             }
 
+                            if(inputValue === null) {
+                                inputValue = undefined;
+                            }
+
                             return [inputName, inputValue]
                         })
                 );
+                // add all labels except the one from flow to prevent duplicates
+                this.executionLabels = this.execution.labels.filter(label => !this.flow.labels.some(flowLabel => flowLabel.key === label.key && flowLabel.value === label.value));
             },
             onSubmit(formRef) {
                 if (this.$tours["guidedTour"].isRunning.value) {
