The reason it will work after the disable/enable is because Enable sets the Variable so it makes sense that it would work after the first try because the problem could be that whoGets2 is null initially so when given to the custom event its null and just after it triggers its no longer null and nothing sets it back to null either so even after disabling it will have its value meaning it gets triggered correctly
So basically what could be happening is:
Trigger Custom Event -> Debug.LogError -> OnEnable -> Null Check -> Set "whoGets2". This is the initial trigger.
After disabling and ReEnabling whoGets2 is no longer null so it follows the same pattern but triggers anyway