The log is in UTC, while StartMarket/EndMarket are in EST (BarZone=ET). So, all is *mostly* correct in the log.

Except Zorro treats end times as "exclusive of" the specified time, i.e. EndMarket=1600 will NOT include the bar ending at 16:00; you have to set EndMarket=1601 to include the last 30-min bar into the day. (this logic is technically correct for ticks, but not for bars- which are timestamped by Zorro itself by the end time "inclusive of ").

Also, StartMarket=9:30 does NOT mean that your trading day will start from 9:30 (as you would expect). Rather, this is a timestamp(=END) of the first bar in a trading day.
And where it starts depends on the BarMode, EndMarket and available price history in the file (with the current script you get an "overnight" bar spanning 15:30-9:30).

Set Verbose=3 to see bar open and close prices and construct the "price candles" the way you need .