It is my belief that a joke can only be funny if it is also factually accurate...
Allow me to share a joke which I feel illustrates this point rather well -
Why did the mushroom go to the party?
Because he was a fungi!
(This joke was particularly popular, I remember, when I was at high school... Something about it bothered me, even then - now, I can explain what, exactly, that is...)
So, initially, this seems like a nice idea... Y'know,
fungi - mushrooms, etc - and
fun guy - a pleasant, sociable chap who'd probably enjoy a good party... Could be good, right?
But there's a problem with this, isn't there? The problem being that "fungi" is a plural, while "a fun guy" is a singular person...
In order to make the joke work, you'd have to say -
Why did the mushroom go to the party?
Because he was a fungus!
Now, that would simply draw blank looks and bemused hand gestures, because it simply isn't funny... "A fun gus"...? That would only work if the name of this fun guy were Augustus - or Gus, for short! And for that to be apparent, you'd have to point it out beforehand, which would rather ruin the joke...
On the other hand, you could say this -
Why did the mushrooms go to the party?
Because they were fungi!
Again, that's not funny! "Because they were fun guy"...? What tosh!!
So yes - in my opinion, unless a joke can be accurate, it simply isn't going to amuse... If you're trying to write a joke, and you end up in a situation like this, please, just give up! It was a lovely thought, but it just isn't going to work - so try to forget it, and move on...