It is not that there is a revealing reason in itself (at least as far as I know), it is simply that the syntax of both is defined in that way.
The while is a conditional structure that requires a condition in parentheses to work:
while (condición)
{
// Cosas
}
The return is a statement that does not contain parentheses in its syntax:
return valor;
What it does require is a character to separate the reserved word return from what is coming, it does not necessarily have to be separated by a space, really any character that can not be used in an identifier because then when "return value" is joined compiler would take the whole word as an identifier.
Then the valid characters to separate return from what is coming are all those that are not letters, numbers or low guinlines, for example:
return+10; // El separador es el signo +
return(10); // El separador es el signo (
return 10; // El separador es el signo espacio
return{10}; // El separador es el signo {
return10; // NO hay separador y "return10" se toma como un solo elemento, el compilador probablemento no encontrará dicho elemento y dará un error
In any of the previous cases, it is valid to say that the entire expression is evaluated (It is saying, omitting the fact that there are operations in short circuit) so there is no difference between using parentheses or not.