The question kind of makes sense, and I think everyone has their own explanation, I'm going to tell you my point of view.
The way Ethereum works differs from other programming languages, I will give examples:
- address variable
- gas fees and gas cost
- payable functionality
Of course, you can make the virtual machine fit with any programming language such as Solana which is compatible with Rust, but I think there will challenges in doing this, as you should keep performance and other things in consideration.
The easy way is to make a new virtual machine, and we can build it as we want to fit our needs, it's easier to do than trying to match our needs and already existing virtual machine.
This is my opinion about why they made their own virtual machine.