If it were me, I'd be determining the date from a PowerAutomate step and use it as a parameter rather that doing it from the office script directly.
Note: This assumes that you're always going to trigger this from PowerAutomate and users will not trigger it from the Automate
tab in Excel Online directly.
As a really basic example, this is what my script looks like ...
function main(workbook: ExcelScript.Workbook, localDateTime: string) {
let worksheet = workbook.getActiveWorksheet();
worksheet.getRange("A1").setValue(localDateTime);
}
... you can see, I have a localDateTime
parameter which is then able to be populated through the PowerAutomate flow.
In the flow itself, I have it looking like this ...

The Local Date Time
variable expression looks like this ...
formatDateTime(convertFromUtc(utcNow(), 'AUS Eastern Standard Time'), 'yyyy-MM-dd hh:mm')
That expression gives me the date and time exactly as I want it in my timezone. For the purpose of this demonstration, I've gone down to the hour and minute to show it's true accuracy and as I'd hoped to achieve, this is the outcome ...

Just ignore the AM in the address bar, it's treating the string in the cell as a date/time based on what it received but you won't be doing that, you'll just be using the date to show/hide your worksheet.
If it needed to be stored in a cell then I’d have to make the string a little more stringent and include the AM/PM or make it 24-hour or something.
So if your expression in PowerAutomate was like this ...
formatDateTime(convertFromUtc(utcNow(), 'Eastern Standard Time'), 'yyyy-MM-dd')
... or whatever the yyyy-MM-dd format is for your worksheet name then it should work as you need.