Really? Correct me if I'm wrong, John... but isn't it only declaring sub_name1 vs. subname2?
So in the 64 bit version, you would call sub_name1 to run sub_name3, but otherwise you would call sub_name2 to run sub_name3.
I'm not sure why you'd use this particular construct, honestly.
Where I've seen this usage is when you need to declare a return value or a parameter differently, but the routine is named the same. For example:
#If VBA7 then
Sub MySub(myVal as LongPtr)
#Else
Sub MySub(myVal as Long)
#End If
Or am I missing something?