Shakespeare deliberately fudged a lot of his history because he was a stooge for the Tudors, and fudged the rest because Elizabethan audiences didn't care as long as they got enough blood and gore. But the fact that Shakespeare was a great Elizabethan dramatist doesn't mean we're also required to celebrate Elizabethan mores in historical accuracy, any more than we're required to celebrate Elizabethan mores in race relations, religious liberty, or criminal justice.I think it is more complicated than that, in several respects. One, Shakespeare was a creature of his time, and the Elizabethans were avid for history. He read, and they read, Holinshed for the British and, of course, Plutarch for the ancients. Plutarch and Holinshed didn't understand history the way we do, nor did the Elizabethans; we understand more because we have, well, more history. That doesn't mean they didn't want to get it right.
And two, recall that Shakespeare's Caesar is not precisely Shakespeare's Caesar. It's a rework of an English translation of a French translation of a Greek book about a Roman (and not very good Greek, at that). The opportunities for honest misunderstanding are limitless.