It's not clear to me the importance of the Ethereum Virtual Machine and why it is used. So it is natural to ask what would happen if EVM didn't exist? or Ethereum didn't use it.
EVM – What Would Happen if EVM Didn’t Exist in Ethereum
Architectureevm
Related Solutions
So the important point in your question is why a new VM and not a java VM. ok let's choose a Java VM instead, what do we get? :
1- complex and voluminous Bytecode => how to store it, in the blockchain for which cost? (Knowing that a single java method can have a size up to 64KB) thus such VM or language isn't space-saving.
2- useless features and security concerns: Network access,I/O stream, File W/R ... =>each of these features implies big security issues. think of it, you can write a code which ping (of death) another machine or access protected files, or even steal the miner's private keys. Even sandboxed a flaw could occur and file "write/read" feature could break the whole system's security. so we'll need to get rid of all these features, which is a hard task to achieve for a licensed VM. We need to remember that a Blockchain VM should be isolated without the capacity to communicate with the external environment.
3- if you have a JVM, you would use Java or another JVM language, which are not adapted to the blockchain context (lack of determinism, memory and hardware access, higher execution latency,floating-point, etc...). Imagine you have a Java bytecode with a rand(), what would be the result and how to reach the consensus then?.
4- Weak DDos resistance (how would you set a gas-like system in a complex VM like Java VM? ).
3- JAVA VM is a licensed Sun product, so you can't customize it to integrate it to the Ethereum's environment (for example how would you calculate the gas cost to avoid Dos attacks?)? to overcome this problem you need to write your own Java VM which is a complex task read: https://softwareengineering.stackexchange.com/questions/71561/java-and-jvm-license.
Besides, you can check out this answer about why to create a new contract language : What is the merit of creating new smart contract languages like Solidity instead of using other languages?
The Ethereum Virtual Machine (EVM) is the computer that all full nodes in the Ethereum network agree to run. When there is code / data on the blockchain, consensus is needed to agree on what that code does. Everyone agrees on how the EVM should behave, and everyone has the same data on the blockchain, so everyone will compute the same answers. From this perspective, it looks like a single World Computer leading to that description.
Not all nodes perform the code execution. There are different types of nodes and light clients, such as those on mobile or devices with less resources, do not perform all the code execution. However, this means that light clients need to place trust on some service and slightly more vulnerable to getting deceived.
All full nodes perform the code execution for their own security. By doing this, full nodes can verify the computation result on their own, and they do not have reliance on some service. So instead of why is the miner the only node that gets the block reward, it's more about why do other nodes decide to perform the computation (or not).
Best Answer
First to get an idea on EVM you may refer this question on what is EVM. And then,
As I understand,
Since ethereum should provide a platform independent (Otherwise you need to deploy different contracts at different addresses for different platforms?) running environment to execute smart contracts (providing a Turing Complete language to write smart contracts is a main specialty in Ethereum ) , A VM is highly needed. But why not an existing VM is not used? Ethereum has it's on requirements other than just executing a code. This answer requirements needed for the EVM will give a good idea on that. And this comparison with JVM will give a more insight to that.
Highlighting the security aspect Ethereum Virtual machine(EVM) provides the secured run-time environment for the smart contracts in the network. Smart Contracts are open to everyone in the network and anyone in the network is allowed to deploy smart contracts. When a node need execute a smart contract function, the code is run with in the particular node.
These reasons open up a security vulnerability, unless the run-time environment is not controlled. In a worst case scenario, it may lead nodes to be unavailable and ultimately the network to be unavailable. These vulnerabilities are prevented by controlling the run-time environment by the EVM.