There's clearly no legal obligation to donate blood. So, an argument from legal reasons won't get off the ground.
There may be pragmatic reasons to donate blood, however. For one, it would increase the supply of blood in case oneself or other members of one's family -- or one's close friends -- ever needed blood. For two, it might get one a certain amount of acclaim. That is, one could be looked well-upon for donating blood -- doing something supererogatory. But, those don't seem to provide enough reason to support that one should donate blood -- only that it might be sensible to.
So, let's look at the moral reasons. When it comes to organ donation (a related problem), then there are clear moral reasons to donate one's organs upon death. After all, one doesn't need them any more, and thus it costs one nothing to give them up in order to produce good (if not great good) for others. But the same does not apply for blood. Taking blood, although it will regenerate in short order, does do a slight amount of damage to the body (and can do more damage psychologically). In short, it does exact a cost.
The question then is whether the good done by donating blood outweighs the cost sufficiently that one is obligated to donate. After all, there are many good things one could do that do outweigh the costs of doing them, yet one has no obligation to do them. For example, it would cost me very little to donate money to famine relief in Africa, and I could do great good by donating money. But it remains supererogatory that I donate money, basically because the good does not outweigh the cost enough. (Even if this example is not found convincing, others can easily be constructed, so I will take it that the general point holds.)
The good done by donating blood is, literally, the potential saving of a life. The cost is (for most) momentary pain and suffering. I would suggest, however, that one cannot be obligated ever to endure pain in order to accomplish good for others. One might be very good to do so -- as said above, it may be supererogatory -- but one cannot be obligated to do so. This is because requiring one to endure pain in order to do someone else great good implies that two individual people are interchangeable: the pain of one can be directly compared to the benefit to the other, without any appreciation for the uniqueness and autonomy of the individual. Some very crude sorts of utilitarian may think like this, but most moral thinkers find something troubling about the idea of always treating all individuals (and their pleasures and pains) alike.
So, it is false that one is obligated to donate blood. One would be very good to do so, but, because one's pain cannot be immediately and directly traded off against someone else's benefit or pleasure, because individuals are, in some sense and to some extent, incommensurate, there is no legitimate obligation.