So once she realized that her son was going to voluntarily put himself in danger all the time anyway, why didn't she let Picard know of his existence then, if the only reason she kept Jack's existence from Picard a secret was because she feared Jack would be in danger?
Sorry, but no. I have yet to hear any plausible reason why Beverly would keep Jack's existence from Picard (and everyone else) a secret. It's not like Picard was some rogue who constantly put himself in danger anyway. It was just a silly plot device that made no logical sense.
First of all, she didn't know that for years and years because he was a baby and then a child. Then she gave Jack the agency and let him make the decision. This is actually happens in real life quite commonly and in fact - HAPPENED TO ME. She saw all the times he had nearly died, the ship had nearly blown up etc. We're also ignoring the fact she already lost her husband and son to the Starfleet life!
And it was a point of contention in the show as well.