My first guess would be that
push is paired with
pop. You might very well want to say, for example,
pop @foo; without putting what was popped anywhere. If push() took $_ by default, one might expect pop() to assign to $_ by default. Logical pairs that don't both deal with the same implicit variable should probably neither one do so.