Creo que hay un problema con la lógica que se está utilizando aquí:
Está verificando las estadísticas de cualquier usuario creado después del inicio del mes anterior. Por lo tanto, si un usuario se unió a mediados de junio, se verificarán las estadísticas desde el inicio de mayo hasta mediados de junio. Luego, la insignia tiene su fecha created_at establecida al final del mes anterior (31 de mayo). Esto permitiría que un usuario creado en junio reciba la insignia de Nuevo Usuario del Mes al final de mayo.