If highest level entries in Personality are all weight_modifier then it has to be modifying weight somewhere, right? And if that weight value is not contained within Personalities, then it's elsewhere? If this weight value is random or somehow modified by non-Personality values, then there's your randomness.
I'm pretty sure weight_modifier is simply the name of that particular attribute on the personality object, tbh. The base weight is defined within it on weight = X. So basically, the game looks at all the personality weights (modifying by the modifiers listed within - see evangelising_zealots for example) and then rolls a dice on the resulting table, like so:
Personality A = 1-100
Personality B = 101-500
Personality C 501-600
The majority of them will come out as B, but around a sixth will be As and another 6th will be Cs.