I do have the same issue as in here. Since I can't leave a comment and so I post another new topic for help. Does anybody else can solve it? I come across the same issue suddenly. I haven't tried to add 'post_status' => 'publish' to arg as it is not a workable way for me since I do not know when and how many of my user writing a "future" post. I can't teach them to add that to arg one by one for everytime when do making a scheduled post, they are a typical end user, no coding. Besides, it should be a default feature that should be working without extra effort.
Check your server time and check time from WordPress Settings >> General and check your time zone there.
Install the Health Check plugin, run it, and check what it says about WP-Cron.
define('DISABLE_WP_CRON', true); code from the wp-config.php file.
Also, Contact your hosting provider regarding this issue :)