An EVM reads smart contracts via byte code and sends appropriate commands to the node it is associated with. This is a benefit because if smart contract commands were sent directly to the node, the node’s security would be compromised.
Bytecode
Solidity is a programming language that an individual uses to make smart contracts. Once the smart contract is put into the Ethereum network, it gets compiled into Bytecode for the EVM to interpret.
Because Bitcoin is not Turing Complete. The reason being is that the developers did not want Bitcoin to get spammed with commands and overinflate the blockchain with unnecessary data.
A Turing Complete programming language is a programming language that any command can be executed on, no matter how complex.