se le unisci a mano non ha più senso usare l'implode!Codice PHP:
$wordChunks = explode(" ", $_POST['products_name']);
$nome_con_underscore_per_keywords = implode("_", $wordChunks);
$nome_con_virgola_per_tags = implode(",", $wordChunks);
comunque come già consigliato conviene usare str_replace (o preg_replace nel caso di spazi multipli).
ps lavori con la segnalazione degli errori attiva?
PHP Warning: implode(): Invalid arguments passed on line 21