Rename you points layer in mxd table of content to "points", it doesn't matter if it is stored in database or shapefile. I assume that field "ranga" stores type of geosite (why on Earth are you showing irrelevant fields?).
Lookin at polygon table I assume it is stored as shapefile, this is why run below expression on TYPE_COUNT integer field in polygons table:
with arcpy.da.SearchCursor("points",("NEAR_FID","ranga")) as cursor:
for pgonID, pointType in cursor:
ad = aDict.get(pgonID,set())
If polygons stored in database change
Longer alternative without coding:
- Dissolve points using 2 fields: NEAR_FID and ranga, with checked multiparts option;
- Run frequency on output from above, using NEAR_FID as case field;
- Join output of Frequency to polygons using FID<=>NEAR_FID.
As a precaution explode you multipoint input into single parts and work with them, starting with NEAR to polygons.