People buy a lot of bitcoins during those holiday times.
I think people are actually selling more than buying at this time of year, at least those who celebrate Christmas and New Year. Most will actually spend some
BTC (by selling for fiat/or directly) to buy gifts, food and drink, decorations and all that is being bought this time of year.
People actually buy BTC long before so they can sell it and make a profit in this period, and this was a good strategy this year as well, at least for those who bought in the first few months of this year, they doubled their money.
I think the amount of coins sold for buying gifts is negligible and doesn't affect prices - after all, what kind of investors sells their assets just because they want to spend some money? They're supposed to hold only a portion of their net worth in assets and always have some spare cash.
My explanation why the price goes down during holidays (which actually doesn't happen all the time) is because traders take vacations during those times, and they liquidate volatile assets because they won't be able to react quickly if there would be a market change.