I would argue that the main reason for the collapse of communism in Eastern Europe was the fact that Mikhail Gorbacheve instituted his glasnost and peresetroika reforms in the Soviet Union. When Gorbachev did this, it signalled to the people of the Soviet bloc that the Soviet government would no longer use its power to enforce their obedience. At that point, communism started to fall apart across the region.
But why did communism fall apart once the Soviets stopped coercing their people and those of other countries? The main reason for this is that the communist economic and social system was not able to satisfy its people's wants and needs. People in those countries wanted a better material standard of living and more freedom. Communism could not provide these things.
Communism's inability to do this laid the foundation for its collapse. Once the Soviet government stopped using its resources to enforce obedience, the whole structure collapsed because it was fundamentally unable to satisfy its people.