A problem that all game designers face
Games need to engage their players.
In general, a game can be broken down into two dimensions. Depth, and required knowledge. There is generally a positive relationship between depth and engagement with the players, however depth is usually accompanied by additional required knowledge. There is a mostly negative relationship between burden of knowledge and player engagement and retention.
Requiring that the player learn some things in order to play your game is fine, however things can get out of hand quite fast. Just look at the genre of fighting games. One must learn a large number of button combos just to be considered competent at the game. It can get quite overwhelming for a new player.
Depth is often provided by adding things to the game. Adding mechanics, adding equipment, and adding hazards to the environment are all examples of methods for adding depth to a game. In any scenario where two options are not identical (such as a non-symmetrical battleground, or different weapons), a lot of care must be put into the balance of the game. More options means a more dire need for balance.
Not only is balance necessary to make PvP a fair and fun experience for all players involved, but it's also necessary to make a single player game a fun and engaging experience for the player. If you can progress in a game by simply mashing a single key, or if you can use any equipment without regard for its stats, then that aspect of the game is not engaging at all.
How does this apply to your game?
Your players have submitted complaints about bland and unvaried weapons in your game, which is a symptom of the lack of depth. I gave the prior exposition so that you might have a better idea of how to fix this issue.
The best way to figure out why your game is lacking depth, and how to fix it, is to look at other games in the genre. See what that game has that engages their players as well as it does. Try to extract the essence of it so that when you apply the same concepts to your own game, it doesn't seem like a rip-off.
Let's look at an example
I'm aware that your game uses guns as weapons, but let's take a look at From Soft's Dark Souls series as the concepts applied there are valid for almost any game to some extent. Each weapon falls into a general category that more or less dictates the style of weapon. There are swords, greatswords, katanas, clubs, giant clubs, bows, crossbows, and more. Each major category dictates how the user wields and uses the weapon by changing the animations for each weapon. This makes each weapon category feel significantly different.
However, it gets more deep than that. Individual weapons within the same category might use a varied version of the category's standard move set. In Dark Souls 1, the Uchigatana and Iaito have almost identical stats, but they have different movesets. Even though the Iaito has two or three less damage than the Uchigatana, some prefer the different moveset.
The other answers touched on this, but further distinction is made between weapons by factors beyond raw DPS and attack speed. In Dark Souls, weapons can apply status effects such as bleed or poison. While most katanas have very low DPS when compared to other weapons, the Uchigatana builds up your opponents bleed meter. When the meter fills (which happens in 4-6 hits), the opponent loses a large chunk of health. Bleed still builds up even if your opponent blocks the hit too. This makes the Uchigatana very useful against shield turtles. The main reason why I use this example is that you can make weapons that require specific counter-play. For example, you could make low damage bullets or projectiles that ignore or remove armor from their targets. Even though they have objectively low DPS, if your opponent builds armor then these penetrating bullets will have higher DPS than normal bullets. To make matters even more extreme, you could make bullets that not only ignore armor, but deal more damage based on how much armor your opponent has. Just food for thought.
Additionally, there are multiple methods of striking your opponent in Dark Souls. You can hit people with basic attacks like you would expect, however there are also things like backstabs and ripostes. These are considered to be "critical" attacks, in which the damage you deal is multiplied by your weapon's critical modifier. A dagger has very low base damage, but the critical multiplier is so high that you can oftentimes kill people in a single critical with a dagger.
Now obviously, your game employs the use of firearms. You can find very similar qualities in the weapons found in the Unreal Tournament series. Outside of the basic machine gun, all of the weapons are perfectly viable for use in a fight. Each weapon fills a specific niche, which may make you better off with a given weapon depending on the situation.
What does this mean for your game?
There's a large number of dimensions that you can manipulate to change the feeling of different firearms. You can change the firing speed and mode of course, but you can also change things like how the weapon affects your player when fired, such as recoil and knock back. You can also modify the projectiles too. Not only can you change the damage they do, but you can also make the projectiles do special things. You can make slow projectiles, projectiles that are affected by the environment (wind, gravity), projectiles that you can charge (like the Unreal Tournament bio-rifle), projectiles that explode on contact (like a rocket launcher), or projectiles that erupt into many smaller projectiles upon landing (the Unreal Tournament flak cannon and bio-rifle again). There are plenty more that you can play with, but these are the first ones to come to mind.
Watch out
A very difficult problem with building depth of choice into your gameplay is that you risk creating first order optimal strategies (FOOS). Put simply, a FOOS is an easy to execute, highly effective, and difficult to counter technique or style of play. Dark Souls is a prime example of what issues arise when severe imbalances in the equipment system lead to FOOSs. Since Dark Souls is predominantly single player, it's not a severe issue. However in a multiplayer setting, FOOSs can kill a game. The only real solution to the problem of FOOS in a deep gameplay architecture is extensive play testing. Simple number crunching can't match the ingenuity of players.
Conclusion
The answer to the complaint of "these choices aren't unique enough" is usually to make the choices you offer more unique. Look at other games that are similar to the one you're working on and see how they provide depth to their gameplay. If your current toolset is insufficient, you might want to consider improving the capabilities of your toolset.
If you can balance your gameplay by merely running your different weapons through DPS calculators and making sure they are close to equal, then you are likely doing something wrong. You aren't providing room for more skilled players to flourish by providing more difficult or risky weapons that have higher damage potential.
Look at the channel Extra Credits on Youtube. They have a lot of useful information about this and many other topics relating to game design.