The form must go inside the dialog.
<p:dialog>
<h:form>
...
</h:form>
</p:dialog>
The generated HTML representation of the dialog component is namely during page load by JavaScript relocated to the end of <body>
in order to improve cross browser compatibility of presenting a modal dialog.
With your current code, this thus means that the dialog will then not sit in a form anymore. So when you try to submit the input values inside the dialog, they will end up as nulls because there is no form in order to collect and send the input values to the server.
Further, you're only processing the submit button inside the command button.
<p:commandButton ... process="@this" />
Remove that attribute. It defaults to @form
already, which is exactly what you want.