I felt I was pretty clear when I explained why the turn bet was too small. It doesn't have to be 8 or 9 bucks or something crazy like that, but when sizing your bet you at least want to make sure his "drawy hands" aren't getting the correct odds
to call. Can't remember offhand if you know your odds and outs etc but a quick calculation shows us here that any naked straight or flush draw has implied odds to call a half pot bet (granted, villain being first to act makes it trickier to extract that final bet).
For the second part about why call the shove, as expected everyone else appears to think it's more of a no brainer call than I do so I'll let them explain that one. Oversets aren't out of the question but it's an odd way to play one on such a flop at 25NL. Again, this doesn't need to be a fishy move from a fishy player with a fishy hand very often for you to be correct in calling it off (flopping sets is hard to do let alone 2 at the same time). Relevant would be how exactly the player in question seems fishy, but for a mostly unknown player I'm with everyone else on not throwing away sets.
It appears from the hand history that you folded here, which is pretty nitty. For what it's worth, it's a good thing that you're noticing when a weakish player (is that's indeed villain is) goes out of their way to tell you they have a very strong hand after you've made two prior raises, because that's usually exactly what they turn over. I actually just read a hand on this board from John A who folded the top of his perceived range to another fishy player taking a pretty strong line given the flop/runout even though there isn't much in the way of value combos to assign the guy. A big difference here is that whereas in that other hand John was only beating a bluff on the river, you have pretty good equity still vs turned straights and that it's hard to argue that villain would play a set like this but not something like top 2 pair.