Change the form action to teacher-registration.php and then you can do everything on that page and just redirect to the teacher_registration_complete.php page when you apply the email server behavior on the page by setting the success redirect.
You could also simply copy and paste the code you already have on the top of the teacher_registration_complete.php page and do the validation and processing on that page. The only line you would have to update would be line 6 to:
$WAFV_Redirect = "teacher_registration.php";
The form from the other page won't show up in the bindings by default, but you can go to the bindings tab on the complete page and click the plus button and choose "Form Data" and put in the teacher_registration page to have it's form elements display as available.
You don't need to upload the file at all. The email server behavior has an option to add it as an attachment and send it from a file field without ever storing it on your server. You can also apply the email on the same page as the file upload and/or server validation. The server validation will prevent it from sending .
Form element values are only available on the page set as the action page of the form. That is where they are submitted to. The server validation, file upload, and email server behaviors should be applied on the same page (the form action page). That can either be the same page as the form is on, or another page as long as it is the page specified as the action. If you do use the same page, then you can use the go to page setting in the email to go to the next page after the email is sent.