This worked fine for me, remember that animal men dont get called animal woman, it will say [animal name] man but when you examine them you will see they are female, i tested this in the arena it worked perfectly so just override your interaction with this:
[INTERACTION:SUMMON_GIRLFRIEND]
[I_TARGET:A:LOCATION]
[IT_LOCATION:CONTEXT_LOCATION]
[I_TARGET:B:LOCATION]
[IT_LOCATION:RANDOM_NEARBY_LOCATION:A:1]
[I_EFFECT:SUMMON_UNIT]
[IE_TARGET:A]
[IE_IMMEDIATE]
[IE_TIME_RANGE:200:300]
[IE_MAKE_PET_IF_POSSIBLE]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:IMMOBILE_LAND]
[IE_CREATURE_CASTE_FLAG:INTELLIGENT_SPEAKS]
[IE_CREATURE_CASTE_FLAG:CAN_LEARN]
[IE_CREATURE_CASTE_FLAG:INTELLIGENT_LEARNS]
[IE_CREATURE_CASTE_FLAG:FEMALE]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:MEGABEAST]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:SEMIMEGABEAST]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:TITAN]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:DEMON]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:UNIQUE_DEMON]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:SUPERNATURAL]
[IE_FORBIDDEN_CREATURE_CASTE_FLAG:CANNOT_BREATHE_AIR]
I removed your extra i_target, and removed SMALL_RACE as that doenst actually exist as a token and made it check for FEMALE. It worked perfect.