The writing community goes back and forth about whether a story needs a villain or not. Some people want a villain to make the hero become a hero. They believe a villain promotes action, conflict, romance, and other plot trends.
In some genres, this is true. The story must have a villain to succeed. However, in many stories a villain is not necessary and I do not think a writer should worry about creating one all the time.
A story needs at least one protagonist attempting to accomplish at least one goal. The writer creates conflict through the use of obstacles making the accomplishment toward the goal a challenge. The obstacles do not have to be a bad person.
Obstacles can be things as weather, environment, or other natural occurrences. They can be organizations like companies or governments. Or, they can be the culture and society who rule over the protagonist.
A villain is an easy way to form obstacles, host conflict, and create action. It is a simple way for a writer to expand the story and keep the interests of a reader. I do not write stories with villains.
While the back and forth between a hero and villain can make a good plot, I try to read something with broader scope and maybe not as predictable as the antics of two people fighting.
I write stories without villains to complicate my protagonist’s approach to achieving their goals. I want the person to confront obstacles bigger than another person. Even if those obstacles are the protagonist own doing and they are the villain.