amarnath You have three separate cron jobs all doing the same thing. While it won't really cause any serious problems, it's not exactly efficient. I think you'll get separate suggestions from everyone here as to the best way of doing things, but mine would be to get rid of all the existing cron setups and start again with just number 3.
As ntozier mentioned, the timezone does need to be set in multiple places. For PHP, go into php.ini and look for the line starting date.timezone making sure it's not commented out, then set it to the relevant value according to this page: https://www.php.net/manual/en/timezones.php - you'll also need to ensure the server itself is running on the correct timezone.