Answer
The bind-variable name itself can contain spaces and still work correctly when used consistently throughout the query — for example, referencing '&Date From' (or '&To Date') as the bind variable directly in the WHERE clause, rather than trying to rename an existing underscore-style variable after the fact, produces exactly the friendly label you'd expect on the parameter prompt, since the parameter label shown to the user is generated directly from however the bind variable itself is named in the SQL.