Похоже, что вы заканчиваете цикл for перед тем, как заключить прослушиватель события click маркера изнутри. Можете ли вы попробовать код ниже и посмотреть, если вы все еще получаете ту же ошибку области видимости?
function initMap() {
var gmarkers = [];
const cairo = {lat: {{the_lat}}, lng: {{the_long}}};
const map = new google.maps.Map(
document.getElementById('map'), {zoom: 15, center: cairo});
{% for item in all_data %}
var location{{ item.val.station_geohash }} = {
lat:{{item.val.station_latitude}},
lng:{{ item.val.station_longitude }}
};
var marker{{ item.val.station_geohash }} = new google.maps.Marker({
position: location{{ item.val.station_geohash }},
map: map,
draggable: false,
title: "{{item.val.station_name}}",
animation: google.maps.Animation.DROP,
});
gmarkers.push(marker{{ item.val.station_geohash }});
google.maps.event.addListener(marker{{ item.val.station_geohash }}, 'click', function () {
var name = marker.title;
alert(name)
});
{% endfor %}
}