Para la validación del payload se lanza un error porque dicha validación ocurre dentro de la función creadora más no directamente en el Middleware que esta retorna.
Para usar next() este debe indicarse como parámetro en un Middleware cumpliendo con la estructura y sintaxis de los mismos.