Generally speaking "nice guys" are perceived as being weak, boring, lacking confidence/cool, and not enough of challenge.
Whenever there are things one has to (work for/earn or compete for) we as a society place a much higher value on them. Whenever there is an abundance of anything society tends to place a lower value on it. (water, salt, dandelions....etc)
A "nice guy" gives his heart to a girl on a silver platter without her having to do anything. Now one would think that (love and affection) are things that should be given freely. However young-women in particular are likely to subscribe to the following quote. "We ignore those who adore us and adore those who ignore us."
A "bad boy" is unpredictable, he brings drama with him, there are other girls trying to get with him, he doesn't share his emotions often, there is a mystery about him, other guys admire him...etc Any woman that "gets him" has to "earn him". He is a prize to be won!
It is not until girls have experienced enough heartaches with the "bad boy" that they decide to give the "nice guy" a chance. This makes the "nice guy" the (last guy). Not all young-women are this way however it is enough of them that are which makes "nice guys" frustrated. Your options are to date girls from other cultures whose parents may have instilled in them the requirement to only date young-men that respect them or you can date older girls/women who have already gone through their "bady boy" phase. Awhile back I wrote a hub on this subject. Best of luck! https://hubpages.com/relationships/bad-boy-vs-good...