Every day, there are lots of new online shoppers making their first transactions: young people who have just gotten their first credit card, and older people who have never bought anything online before.
A 21 year old who just got their first credit card yesterday has not had two decades of experience with CVV codes.
Someone who has had their card for years but has never bought anything online before has not had two decades of experience with CVV codes (since they're never used for in-person transactions).
"Can't we just put a little lock icon next to the CVV on a card, and then put the same icon on the site."
A lock icon would be confusing, since a lock icon is already used to indicate a secure web site. And if someone has never used a credit card online before, they may not have noticed the lock icon on their card.
And good luck trying to get all credit card issuers to agree on a standard icon, when they can't even agree on the format and location of the CVV code. For example, on an Amex card, the CVV code is 4 digits, and is on the front of the card.