Pen testing means interfering with multiple different components of a remote system, working at different levels of abstraction - crafting a customized single network packet, or sending a specific series of interactions via HTTPS while capturing/replaying cookies.
Further, each case is slightly different - you are constructing attack tools out of the available primitives as you go. This is how Unix works - its a bag of tools which allow a competent person to solve problems. Unix is an IDE (integrated development environment).
MSWindows on the other hand is a platform for running programs. There's little economic justification for third parties to build the granular tools which are so common on Unix systems that we think of them as part of the OS. Its only really practical to make money by building "solutions".
A really important consideration for doing pen-testing is that you need to be able to protect your system against the munitions you are deploying and potentially against counter measures. Unix has always been a multi-user system and the concepts of permissions and privilege seperation run deep in its design. Historically there has been a lot less malware targetting Unix than MSWindows.
Linux distinguishes itself from other versions of Unix by being open-source, well-supported and running on cheap hardware. Most of which could also be said about BSD - but typically Linux is delivered in a more user friendly package.