Nearly a third of Boris Johnson's cabinet ministers voted against same-sex marriage, with more opponents of equaity filling the top jobs.