You are in a permanent contract with VM until you give 30 days' notice to leave or leave via one touch switching.
When you join VM, you enter into a minimum term agreement for a period of time (used to be 18 months but often 24 months now). During the minimum term you will obtain VM services at a discounted rate. The discount may be for the minimum term of part of the minimum term (e.g. a discount for the first 12 months of 18 months etc.).
You statement that you are out of contract but also receiving a discount until July seems at odds with the above.
VM will often try to re-contract you earlier on a new/different deal. If you chose that new offer your old deal would end and you would start a new minimum term period on the terms of the new deal.
Mostly if VM offers you something in advance of your present deal ending, the new deal is unlikely to be to your advantage. You have most negotiating power with VM in the last 30 days of an existing minimum term (where you could leave for another supplier without penalty once you have completed the minimum term).
Double check your existing VM agreement in conjunction with the new offer and then see if the new offer holds any benefits for you.