I believe that the "free" drink has to come from the LSA, who most likely will not be in the dining car around midnight.
As DA mentioned, Amtrak complies with local liquor laws. I know when the Silvers pass through Georgia on Sunday, alcohol is not sold on the train. Often an announcement is made after JAX reminding the passengers that if they wish to purchase alcohol, they need to do so asap. I know that on Sunday, the City of Winter Park, FL does not sell alcohol until 11am, whereas the neighboring City of Orlando (in the same county) sells it earlier. Offering alcohol at breakfast may depend on the day of the week, time of the day and location of the train at the time.
I recall purchasing a beer from the cafe on the Sunset Limited out of NOL a couple of years ago at 9am. I normally do not drink that early, but there were extenuating circumstances.