The "map" variable is a different one every time the players enters the map. It is true that the map script gets executed every time the player enters the map, but since the map variable is a new one, it will only have one on_started event. And the old map and its event will be garbage collected eventually (unless you keep references to them somewhere).
To sum up, if your project has the multi_events.lua script, then you have the choice between two approaches for all events:
local map = ...
-- The traditional way still works:
function map:on_started()
-- blah blah
end
local map = ...
require("multi_events")
-- This approach allows to register several functions to the same event:
map:register_event("on_started", function()
-- blah blah
end)
You can use the multi_events approach when you have the problem of several scripts that want to define the same event. For example, let's say that the dialog box script and the HUD scripts both want to do something in game:on_started().