Nintendo itself also said that, but like you wrote, Switch lineup until April wanst good while from this month is getting quite stronger and espacily in second half of year when we will have Smash Bros and most likly Pokemon.
But going by these numbers, I think that having ports for much of the first half of the year was a mistake. The ports themselves are being boosted because not only are most of them great games but this time they are being launched on far better received and selling hardware. However, the ports themselves are not moving units like a new game would. Similarly, I think they overestimated Labo.
At this point I am somewhat worried about Switch's sales momentum. I may be catastrophizing, but I seriously hope that Nintendo has a strong H2 lined up for 2018 and potentially even a price cut. Right now my worry is not that it will not hit 20 million, but rather that it will only do about half of that prediction.