That justification sounds extremely far fetched (pseudolingustic, even) and inconsistent with the patterns of English nickname formation.
It's simply more likely that Bo/Beau ("handsome") simply evolved as a oet name for children that's independent from their actual given name (see also:
Ace,
Buster, Skipper,
Happy,
Buddy). Just browsing the Wikipedia list of people named
Bo, you find full names as varied as
Harold,
Vincent,
Mary,
Beauregard, Ellas,
Mark, and, yes,
William. Your perceived predominance of
William "
Bo" is probably explained by a) the high frequency of the name
William and b) the fact that
Bo and Bill/Billy have the same initial.
In short:
Bo does not derive from
William, though many Williams may be called
Bo.