Well that is cool! I think that could be a limitation of the Snap process. It defaults to the nearest feature regardless if the layer has features selected... So we might get around this by creating a pseudo featureclass in memory, that only has the selected road. It will get overwritten in each iteration so it should limit the Snap method the option of what was selected by the query.
env.overwriteOutput = True
in_memory = "in_memory\\"
RMapPts = outPutPath + '/Form_1.shp'
query = """'{}' = '{}'""".format(arcpy.AddFieldDelimiters(RMapPts, "WhatRoad"), arcpy.AddFieldDelimiters(Roads, 'ROAD_MAP_LABEL'))
with arcpy.da.SearchCursor(RMapPts, ["NewSite", "globalid"]) as cur:
for row in cur:
if row[0] == 'yes':
sqlQ = """globalid = '{}'""".format(row[1])
selPts = arcpy.SelectLayerByAttribute_management(RMapPts, 'NEW_SELECTION', sqlQ)
# selRoads = arcpy.SelectLayerByAttribute_management(Roads, "NEW_SELECTION", query)
psedoLyr = arcpy.FeatureClassToFeatureClass_conversion(Roads, in_memory, 'SelRoads', query)
arcpy.Snap_edit(selPts, [[psedoLyr, "EDGE", "500 Feet"]])