* It's not mine to decide - I work there, and don't decide who gets what.
* The cost of living is lower than in other places, and the economy is pretty bad, so locally, at least, they pay pretty well and have less competition.
* Jobs are not global: pay in Des Moines Iowa is probably different from that in San Francisco. A company in San Francisco cannot easily hire Europeans due to the US' terrible immigration bureaucracy, whereas anyone from Helsinki to Lisbon can come work in Italy without too much hassle.
* I don't know too much about the financial side of the company, but operating in Italy is not exactly easy on a business: http://www.doingbusiness.org/rankings
* Once again, I'm not privy to the financial details, but being involved with technology that helps people with vision problems does not carry the same kind of valuation that something really beneficial to the world like Instagram or WhatsApp does.
Just to clarify, when I say US-level salary - I do NOT mean Bay Area/SF - which is an extreme, yes...
But since you mentioned - I doubt you'll find an experienced software engineer in Iowa working for 2K USD per month... AFAIK living costs in Iowa is much much lower than in any place in Italy.
You should consider globally - if your company operates on global scale and has income similar to US company, why not give US-level salaries?