There cannot be a good deed done unless a bad deed is under way. Even if that "villain" is not living, there must be that bad force around in order to make the good force worth happening. For instance, if a hurricane were to happen, the heroes would be those who volunteered to help the poor victims of that hurricane. If there were no hurricane (villain), than wheat would be the point of the rescue teams (heroes)?
Now yes, a hero does need a villain to stand in opposition to. However, the villain doesn't have to be a person. It can be a swollen river dragging away a child, or traffic about to hit a dog, or apathy, or greed. There are many options, but in order to be a hero, one must stand against adversity.
Hereos often earn their titles as heroes by defeating some sort of villan, or evil. They come to the rescue because someone's safety and hapiness is at stake, and the victims need a kind-person to save them. If everyone and everything was fine and dandy, heroes could not earn their titles as heroes.
There isn't always a bad person in a story. There can be a bad situation, for example, that the person needs to be saved from. That bad thing someone or something needs to be saved from could possibly be a disability and not necessarily a person who is trying to hurt them.
It may be true that heroes are made by the times they live in. But they don't necessarily need a villain to fight them. What is more important, is that they have someone to save from something, but this something doesn't need to be a person. Simply put a hero is someone who risks his own life and well being to save that of others. But it doesn't make you more a hero if you stop an evil person, than it makes you a hero if you stop an asteroid, which is on collision course with the earth.