At your age/height/weight, you should be gaining more than 2 pounds per week eating over 3k calories a day - and that's if you're moderately active. I would never recommend trying to radically increase the amount of food you're eating because it's not sustainable in the long term, especially if you're maintaining eating over 3,000 calories a day. I mean, there are many bodybuilders who have to eat upwards of 4k calories to gain, but they don't bulk long term so it's more doable for them.
Your diet is so full of fiber, I wonder if your body is over-eliminating or something, not giving your body time to absorb all of the calories? It does seem that people who eat processed junk food are able to eat more and gain easier/faster due to the way the body processes that sort of food. It's sad that healthy gainers have such a hard time gaining in comparison.
The only thing I might try is adding some canned coconut milk, avocado, olive oil, and/or nut butter to your shakes to increase the calories - but because your diet is so high in fiber, the addition of these items might make you feel overly satiated the rest of the day and cause you to under-eat during your other meals.