The reason it has gone up to £41 instead of £38 is because of VM's annual price rises - these are applied to both discounted contracts and out of contract and full price connections.
Given that UK inflation is running about 2.1%, you might be wondering why VM need to put their prices up by around 7.5% (which certainly won't reflect any salary increase that their everyday employees see), and the answer is quite simply that they can and do this most years - sometimes twice in one year.
VM are not price regulated, and experience tells them that most customers just keep paying when the price leaps. Only if that starts to change will VM stop doing it. Many customers have no idea what real use they make of the speeds that VM sell, and the marketing is carefully crafted to persuade people that they'd really suffer with an Openreach connection, when in fact most people would never notice the difference between 60 and 300 Mbps unless they run a speed test, or regularly download files of tens of gigabytes.