“Unwilling” would be more accurate. They are certainly able to do both, legally speaking.
On applying for a visa before its expiry, cf. article 9 of the Schengen Visa code:
Applications shall be lodged no more than three months before the start of the intended visit. Holders of a multiple-entry visa may lodge the application before the expiry of the visa valid for a period of at least six months.
(An application for a new visa during the validity period of the old visa is only explicitly envisioned for multiple-entry visas – and you haven't specified whether your current visa is a multiple-entry visa or not – but it shows that is indeed possible and the text does not preclude it in other cases either.)
On revoking a visa, cf. article 34:
- A visa shall be revoked where it becomes evident that the conditions for issuing it are no longer met. A visa shall in principle be revoked by the competent authorities of the Member State which issued it. A visa may be revoked by the competent authorities of another Member State, in which case the authorities of the Member State that issued the visa shall be informed of such revocation.
- A visa may be revoked at the request of the visa holder. The competent authorities of the Member States that issued the visa shall be informed of such revocation.
But of course that's not a very useful information if the consulate won't accept your request. Note that the wording of article 34 suggests another country could do it too, they only have to inform Italy. I am not sure whether you will have much luck convincing another consulate to do this but that could be a solution.