You need someone to check your website, but you obviously have a coding or server issue. The fact that you can access files directly but Googlebot can’t is key. This “Sitemap couldn’t fetch” error means that, for some reason, Googlebot is stopped before even rendering. Most likely reasons (among dozens) are:
* Corrupted sitemap.xml
* Problems in your .htaccess or config file (in NGINX)
* Problems in your server headers
* Bad implementation of JS injection (this would be the most likely one since it explains 70–80% of the cases when this happens, but it shouldn’t affect sitemap.xml)
* Some kind of badly configured blocking, especially if using CDNs
* If your products are in GMC, then it’s almost surely a wrong schema, but this happens only with GMC AFAIK
* (Add dozens more)
Anyway, if you did any change at code level, added plugins, or whatever, undo it and resubmit your sitemap, and it should work. If not, you’re dealing with server responses. Or a mix of both, who knows. You provided zero data, so I guess losing sales isn’t that big a deal, really.
Bottom line: pay someone who knows, or watch your sales go bye-bye.
PS: in response to this:
* Sitemap is accessible in the browser.
* Server responds correctly to Googlebot..
It doesn’t matter. People always think this means something, but actually it doesn’t, because your browser and your interactions are things Googlebot does not have. The minute you moved your mouse 1/1000000 of an inch, your browser became the complete opposite of the Googlebot client (not a browser but an HTTP client built in C++ and Go), so any test will be random and could be equally wrong or right.