Using context allows the localization of the date.
It's already the case in event_listing: https://github.com/plone/plone.app.event/blob/master/plone/app/event/browser/event_listing.py#L200
fix: use context for formatted date in event_view
in that case, the occurrences are already IOccurrence and IEvent objects, as returned by IRecurrenceSupport. so no need to access the context of an IEventAccessor as done in the example you referenced.
I agree this is confusing, so i changed the code (plone.app.event.base.dates_for_display and plone.app.event.browser.event_view.get_location) to be able to take IEventAccessor as well as IEvent and IOcurrence based objects in this commit:
if you still have some specific issues with that, let me know.