I’ve just discovered the same issue, which as you say seems to be related to a post being saved as a draft before publishing (perhaps on a different day?)
I’m exploring further, and will come back with anything I find. In the meantime, this works to at least set the post_date_gmt to the post_date:
update wp_posts set post_date_gmt = post_date WHERE post_date_gmt = ‘0000-00-00 0:00:00’;