So, there should never be a reason to give! as the slogan says; " Just do it".
In this regard I have been thinking that there are indeed motives in terms of political ideology.
Normally, someone who is left-wing tends to think that it is the state through taxes that has to collect and redistribute wealth, so that in an ideal, perfect state (which will never exist) no one would be poor.
I don't want to say that it is impossible to be a leftist and give money to charities, etc, but in general I would say that the percentage is lower because of the above explained and more if you live in a country where social democratic policies are implemented, like Denmark for example.
My reason for giving is that it is a good action in itself. I don't have to think of complicated arguments to justify it.
Another thing I have thought in this regard is that it changes the way you are in a positive way. The moment that donating money becomes one more item in your monthly budget like paying utilites or groceries, and you think of other occasions to donate money to the extent of your possibilities, you are moving away from the selfish part that we all have.