Mining is also the only known means to validate transactions on the blockchain.
Usually, in Bitcoin syntax, validation is when you check that a transaction is
valid, ergo it follows the consensus rules and is included in a block. Mining isn't the process of validating transactions. It's the process of including the transaction in block, or
confirming it.
In other words, everyone can validate a transaction, just by running a full node. But not everyone can confirm a transaction, that requires mining.
If there's no difficulty in mining I think 51% attack would have happened since.
No. If there was no difficulty, we'd simply have new blocks mined every split second.