The reason that only one object is affected is because in the event, you loop through smallenemy as a subevent. In the overlapping event, it is true only when a smallenemy collides with player, and only the ONE particular smallenemy will be picked in this case. Going through in the event further in for each, you will be looping through only that ONE particular smallenemy, not all of them.
To remedy this, try "pick all" condition, placing it right on top of the event block that contains For Each.
Reset the picked objects back to all of them. Subsequent conditions will pick from all instances again instead of filtering from only those meeting all the conditions so far. See How events work for more information on how instances are picked in events. Useful in subevents to start affecting different instances again.
further reading: (see picking part here)
additionally, knowing about UID (see UID section) might be useful in certain cases that require more complicated picking: