I noticed that web3.eth.personal has unlockAccount method but not web3.eth.accounts. Why not?
Is web3.eth.personal for personal or single account use while web3.eth.accounts for multiple accounts?
The web3.eth.personal functions worked over the network on node through JSONRPC call.
The web3.eth.accounts functions worked in local computer memory.
Because you have private key in local memory, you don't have to unlock account when you use web3.eth.accounts.
If you check the source code, when you create account through web3.eth.accounts, the private and entrophy is on your computer instead the node you connect to.
If you use web3.eth.accounts a lot, note to clear memory properly. See documentation: https://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html