Beverly Crusher made decisions based on what she believed, not what was true
One of the reasons why Beverly kept Jean-Luc’s son from him is because she believed that Jean-Luc wouldn’t love his son as much as he loved Star Fleet. That’s a bad argument to start with, but ok, let’s explore it.
The idea that he would love Star Fleet more is a flat-out lie. We know this for a fact, thanks to Star Trek Generations. In the film, we see Picard enter the Nexus, a place in between time and space that operates more like heaven. You can have whatever life you truly wanted in the Nexus and for Picard, that was a life with children.
But, he knew his children in the Nexus weren’t real. Yet, the thought of having children was so tempting, that he almost left his entire life behind. If the kids he had in the Nexus were real and really needed him, we all know he wouldn’t have gone back to stop the film’s villain. But the kids weren’t real and the galactic threat was. So there was no reason to stay.
But his vision of a perfect life was a house filled with love and joy, and most notably of all; kids. Surely, he and Beverly had a conversation about Jean-Luc’s time in the Nexus. Surely she knew how much he wanted those children to be real.
She had to know how he felt. We all saw it play out, so surely she was kept in the loop.
And yes, Picard would go on to say that Starfleet was all the family he needed, but we’ve seen the show. We’ve seen the films. We know, we don’t think, we know that’s not true. Picard has always yearned for a family. He just never got the chance.
Even Jack Crusher’s actor, Ed Speleers, said that Picard didn’t mean it, telling Star Trek.com.
"Right at the base of all of this is it’s coming from a place of miscommunication…"
So of course, when he was in his 80s or 90s, he would say that Starfleet was all the family he needed. Why wish for something you know couldn’t be true? Especially at that age?