1 - EVM reads from smart contracts and give instruction to the nodes/CPUs on the ethereum network to execute codes.
2 - The EVM reads byte codes.
3 - Solidity is the programming language used by a user to enter commands/instruction in a smart contract and Bytecode is the language in which it becomes when those inputs are compiled in the smart contract.
4 - Bitcoin uses a non-turing complete language that can only program basic codes.
5 - A turing complete language is a language that allows you to program everything you want(theoretically) on the ethereum network.