What is a noun for a person who is nice and caring and fun to be around (a noun to refer to the person, as in "Bob is a _____".
Well, it's a Yiddish loan word: mensch comes to mind.
It means he's an honorable, good person, but it's taken on all sorts of other positive connotations since its importation to English.
It doesn't quite bring up the fun to be around part, though.
Used in the example sentence: Bob is a real mensch.
Otherwise, you would just call him a great guy. Which probably brings with it all of the connotations you were trying to express.