apyfiz19 and Nigel are both correct. Indian citizens do need a Schengen tourist visa, which will normally be issued for up to 90 days. They must apply for the visa from the first or main country they intend to visit, but the visa will be valid for the whole of the Schengen Area.
Only the Italian Embassy can definatively answer your question. But if you have already paid for your flights, accomodation and transport all that is left is food and entrance fees. €2300÷21 = €109 per day, which should be plenty. Breakfast is probably included in your hotel, and unless you are going to expensive restaurants other meals should cost about €30 per day.
It is only certain countries (like the USA) which get "90 days in 180" without getting a visa first. And of course Schengen/EU citizens have no time limit. This map shows which countries are in which categories: https://upload.wikimedia.org/wikipedia/commons/a/ae/Schengen_visa_requirements.png
Blue/light blue/yellow: unlimited access
Green: 90 days in 180
Red/brown: Visa required