I would suggest basing your mail merge on a query, and doing the required concatenation and formatting in the query prior to mail merge. Using the following expression in a query will give you a full name in title (or proper) case with one space between first and last names.
FullName: StrConv([FirstName] & " " & [LastName],3)
If you are still having trouble with white space in the name fields you can go further if necessary using the Trim function, and trim both names before concatenating them:
FullName: StrConv(Trim([FirstName]) & " " & Trim([LastName]),3)
Note that if you do something like the above you will only need to use the resulting FullName field on your mail merge form, and it will appear with only the single space between the names as desired.