That's because onMarkerHit triggers for any element, including vehicles.
Try this:
local marker = createMarker(1567.3, -1609.7, 12.6, "cylinder", 2, 53, 53, 255, 255)
function spawn(player)
if getElementType(player) ~= "player" then return end
if isPedInVehicle (player) then
outputChatBox ("You already are in a vehicle!")
else
local car1 = createVehicle(596, 1567.4, -1610.5, 14, 0, 0, 180)
warpPedIntoVehicle(player, car1)
end
end
addEventHandler("onMarkerHit", marker, spawn)