There is this awesome blog by Esri Australia regarding joining multiple features to one feature:
https://esriaustraliatechblog.wordpress.com/2015/06/22/spatial-joins-hidden-trick-or-how-to-transfer-attribute-values-in-a-one-to-many-relationship/
There is also official Esri documentation on this procedure as well:
“Merge rules > Join
A concatenation of input field values. You can use a delimiter to separate the various input values. If no delimiter is used, all values will be joined into one continuous string.”
Analyze > Executing tools > Executing tools using the tool dialog > Special parameter controls:
https://desktop.arcgis.com/en/arcmap/latest/analyze/executing-tools/using-the-field-mapping-control.htm
Looks like this is also possible with arcpy.SpatialJoin_analysis python tool:
Analyze > Python > Working with sets of data in Python:
https://desktop.arcgis.com/en/arcmap/10.3/analyze/python/mapping-fields.htm