Unless this makes the game boring for you as a GM, don't make it a goal in itself to have the players vary their characters. The players won't like being forced into roles they don't want to play, and the game can be a lot of fun even with a homogeneous group.
Draw your inspiration from westerns and other action movies where all of the characters are gunslingers, like Young Guns and The Expendables. Focus on combat, but don't be afraid to throw in other types of challenges every once in a while. Ingenious players will always find some way to solve a problem.
If the players are having a hard time getting past a noncombat obstacle you put in their path, consider tossing in an NPC with the required skills—and then have the bad guys attack him. While the NPC is doing his work, it falls upon the players to protect him. Dramatic scenes like these are usually enjoyed by everyone at the table, and the players won't feel that the NPC did all the work.
Finally, encourage the players to flesh out how their are gunslingers are different from each other. While their skills may be similar, there can be a great deal of difference in their personalities and backgrounds. If the players are reluctant to provide this backstory themselves, consider adding social encounters (like negotiations) or moral dilemmas (like hostage situations) into the game to have these differences form naturally during play.
I've had player conflict from time to time. Sometimes it can be handled simply, by talking to them. Be direct - as the GM, you're the leader, and it's your game. "Your fighting makes everyone else not have a good time. I'm the GM, and I'm telling you now to shape up and not bring your beefs into the game."
Look for opportunities to have them play in different games. Most groups I'm in end up having several concurrent games going on on different days or whatever, so people can stay "in the group" but not play with people that bug them. Once, to accommodate differing play styles among the group, I split the campaign and ran two different games on two different days for the two different groups.
Also, sometimes you can address it in game. I had a player who I nearly kicked out, because he would throw fits that were arguably in character but really boiled over to out of character very quickly. (This one time, he was so agitated at the group not taking the thousands of copper pieces from a dead orc tribe that after a screaming fit he just ran into a wraith and suicided.) I ended up giving him a reason to subtly spy on the other players and that sublimated his desire for conflict in a way that didn't have negative group consequences. Perhaps there's ways to sublimate their conflict in the same way. If you disallow table talk, for example, they will have to communicate in character, and arguments in character tend to get you ambushed by bad guys, tossed in dungeons, etc.
In the end, you may have to eject one or both players from your group. Geeks tend to Marty McFly about this too much and not address problems directly, read the Five Geek Social Fallacies for some insight into this (though bands, sports teams, etc. end up having the same problems frequently).
In my current group, we had a player who was just such a total goon that no one enjoyed games that he attended. People tried working with him, but finally we all got together and discussed the problem and ended up voting to disinvite him from the game. "He's making the game less fun" is more than enough justification.
In this case it's harder - is one person really the problem? Or is it both of them, but they're fine if the other isn't there? If they are both a joy to game with except when the other player's there, it's hard to decide which one to punt, but you can just leave it up to them. "Look, we like gaming with both of you, but it's unacceptable and fun-killing when y'all fight. Whoever starts it next time will need to leave." You can try giving people "time outs" short of punting them from the group - "You have to leave this session now because you're fighting." See if that shapes them up. I don't know how much you have invested in these people and how much work is justified to save the group vs. ditching one or more of the members out of hand. It's easy to be an Internet Tough Guy and say "throw them out, then ostracize them from your life!" because it's easy to say that when it's not you in that place. Don't jump to ejection before bothering to talk with friends, but also don't be afraid to pull the trigger once it's clear that's the only thing that will make the game fun again.
Best Answer
If your players are playing their characters then you are a really lucky GM, and you should be proud of them.
But yeah, I understand. We've spent ages preparing an encounter for the group. We've gone over all their possible approaches dozens of times and put stuff to gently railroad them into the right places to cover every eventuality. And yet still, the group will never, ever stick to our mental script of the encounter.
The Malkavian, completely in character, throws a cake at our Seriously Badass Evil Villain. That wasn't in our mental script! Aaagh! Tell him off!
No. The player has just thrown us a bone, the ability to build on the actions of the character while at the same time showing the personality of our villain. We're a lucky GM indeed.
How does our villain react?
The contempt the villain shows, the way the humor of the situation falls completely flat and unnoticed by him, will only build the villain's stature in the eyes of a player.
(If you know that you have a habitually-cake-throwing character, then you can prepare for it in advance! Instead of "that wasn't in my mental script!" you have the advantage, and can have a response lined up ready! I'd discourage too many OP disintegrations, though: most lower-levels would just wipe it off and say something like "Freaking Malks!". Only a fellow Malk would be amused or distracted by it... and THAT encounter would be a delight to play! "Oh my! Beetroot? Delicious! You MUST give me the recipe! Torturers! Take this one to the dungeon kitchens: I will have his secret!")
As GMs, it's not about us: it's about the players' characters, and about the players' fun. If they're having fun, great. If we're upset because our carefully-crafted atmosphere got ruined, then that's sad... but also just plain wrong-headed.
If we let the players have those characters, and then we place them in a setting in which they cannot both play those characters, and still have fun... then we messed up somewhere. Where?