Non si possono usare due eventi uguali. Devi concatenare le chiamate in base al codice di ritorno.

Se ho capito bene, devi modificare cosi`:
onsubmit="if( controlloemail(this) ) return popupform(this, 'join'); else return false;"

Oppure anche (equivalente):
onsubmit="return controlloemail(this) ? popupform(this, 'join') : false;"

Per correttezza, nella prima funzione mettici un return true; prima dell'ultima chiusagraffa.

Ciao
Michele