I agree, I'd have bet the turn. You got two callers on the flop so someone has hit something, you can get a good amount of chips in here so do it.
On the river, against a good opponent I'm folding. $20 into an $80 pot, if someone has flopped a set they're flat calling here. They've got odds
to outdraw you and they're certainly not raising.
He played it like a set, I'd give him credit for holding a set.
It's a difficult fold, but I don't see any reasonable alternative.
What else could he have? A smaller flush? He'd probably have folded pre-flop, or raised on the flop. A king high flush is a possibility, but not very likely given his "value bet" on the river, it just doesn't look like a king high flush.
So what else can you beat? A bluff. That's it. Someone has decided to represent the full house in the face of an obvious flush (either you or the other guy in the hand), it's a bold move and a dangerous one too, not many people are folding a strong flush here.
I would give him credit for the hand rather than put him on a bluff.