The process is broken up into two parts. There is the page that displays the form and the page that processes the form. (In your case, by "process", I mean email).
The first page (building the form) seems to be the problem. The second page (the php that delivers the email) looks perfect.
The first page has two problems. One is that there are still value fields that aren't wrapped in quotes. The second is that there are tags that are included twice. This is an example of a form that will work:
<form action="blahblahblah.php">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<input type="submit" value="Go">
</form>
This is an example of a form that won't work:
<form action="blahblahblah.php">
Name: <input type="text" name="name">
<input type="hidden" name="name" value="">
Age: <input type="text" name="age">
<input type="hidden" name="age" value="77">
<input type="submit" value="Go">
</form>
The reason the second one won't work is that you have name included twice and age included twice.
When you pull up the first page (the form) in your web browser, do a View Source. This will show you the HTML of your form. You will see that most of your fields appear twice - which is bad.
Also, print statements are the best troubleshooting tool ever invented. In your second page, before you send the email, include the following line:
print "The user filled in their name as: $name and their email as $email <p>";
When you hit submit on the form, the 2nd page won't be blank - you will be able to read that line and make sure that the variables are really getting through to the 2nd page.