I am trying to compensate for the public order penalties caused by the slave faction being composed of many different cultures.

To do this I added a law bonus to the government buildings in the EDB text file
for example :
law_bonus bonus 40 requires factions { slave, }

this did not appear to have any effect

when i made it a general bonus by removing the faction requirement it affected all slave settlements.

Why does this not work for the slave faction as it does for other factions?

NB the slave faction has been set to the greek culture in descr_sm_factions.txt

I have also tried a negative test eg not factions 'all' , not cultures (listed) and not factions (all except slave listed)