It has to do with the origins of the holidays. For example, as regarding Christmas, Jesus was not born on December 25, this was actually the date of an ancient pagan festival celebrating the rebirth of the sun. The Bible is clear that Jesus was 33 1/2 when he died, in the spring (March or April). Therefore he would have been born in the fall (probably September or October). The Bible never gives the date of his birth. It would be in there if it was that important for his followers to celebrate. On the other hand, the date of his death is in the Bible, and his followers were commanded to commemorate this date.
Also, the traditions associated with Christmas are not in the Bible, such as Christmas trees, Santa Claus, etc. To accept a "Christmas gift" would be hypocritical, because they do not celebrate the holiday.
As for birthdays, they are only mentioned twice in the Bible and both times were not favorable. Jehovah's Witnesses believe that everything is in the Bible for a reason, so there is a reason why those two events are there. This does not mean that they are against gift giving. They just prefer to give gifts to one another at any random time, not just because the date on the calendar dictates it.
Jehovah's Witnesses do not try to stop others from celebrating the holidays or birthdays. For example, you won't find Jehovah's Witnesses picketing town hall because they have a nativity scene out front.
Hope this answers your questions.