Почему дублируются стили?
Зачем  в задаче "stylus" вот этот пайп:.pipe(concat('main.css'))?
Он тут явно лишний.
У вас же и так все стили импортируются в main. styl, а он в пайпе.pipe(stylus({
    compress: true
}))
компилируется в main.css.
Получается, вы его компилируете, а потом еще раз собираете все стили в кучу, в main.css...
Попробуй https://www.npmjs.com/package/gulp-css-purge