I had plans to travel to Greece so I applied for visa. But meanwhile our plans have changed and I need to enter Schengen zone in 8th of July in Budapest. Than I will go to Croatia by bus and then I will fly from Zadar to Rome. But Greece gave me 2 months of visa but 20 days of duration which is giving me big problem. I need to stay two weeks in Italy for education program and I even got the invitation letter. But because of duration of stay it doesn't cover, as I will spend more than 20 days. Can I get a new visa from Italy just as education type? Or what other options do I have?
The only option seems to get Greece to revoke their visa and start a new application with the Italian consulate.
Since your plan has changed and you did not submit any information that would suggest you need to stay that long, it's not a mistake of the Greek consulate and they have absolutely no reason to change their visa.
Legally, they should not even accept a new application from you as Italy is now clearly the main destination of your trip and the Italian consulate is the only consulate competent to examine your application. For Greece to change your current visa to allow that would amount to usurping Italy's role in this process.
But the Italians most likely would not issue a visa overlapping with the current one, hence the need to get the Greek consulate to revoke it first. Unlike “annulment”, “revocation” can be requested by the holder. It means that your visa has been cancelled without prejudice.