You don't need "all" of them...only the versions called for by a particular application or driver.
When developers write a program, he/she may incorporate a given version of MS.NET into the functional structure of the program. IME, every time a given program requires a given version...an onscreen error message will tell user that such is required (if not already installed) or the developer will ensure that the particular version desired in part of the install package. Microsoft typically includes the version required as part of the install...other developers may list it as a prerequisite for proper install and/or include a prompt for desired version as part of the program install. I've never come across a situation where I was unaware that a given version was necessary for proper function of a program.
Not all programs need a given version...many programs may require no version. It all depends on the program developer.
OTOH...if you install versions...I don't believe it will do any harm to your system...you will have just installed an unnecessary part of Windows. I have run some of my systems temporarily without any version installed...with no consequences other than the prompt to install a given version whenever I later installed an application/driver requiring such.