These sorts of issues are very common, particularly among newer players. A mismatch of expectations between the GM and the players can cause a great deal of frustration for both, and can easily kill a game because neither are getting what they're looking for. One of the best ways to deal with this is what's generally called Session Zero, a designated time for all the players and GM to sit down and lay out what they're looking for from the game before it starts. If the GM wants to tell a relatively serious story, make regular progress or deal with serious issues, this is the time to let the players know that and gauge their interest in playing in that kind of game in the first place. Likewise, if the players would prefer to make things more light-hearted, wacky or silly, they can express that before it ends up disrupting the game. This also establishes expectations of what type of characters are appropriate for the game before players spend time making them, what sorts of topics might be too uncomfortable for players to deal with, whether the game is going to be a player-driven sandbox or a more on-rails experience, etc. and compromise on issues so everyone is on the same page.
That said, you're already in a situation where things are not going the way you'd prefer. While doing a Session Zero before the game starts is generally ideal, at this point it's still not a bad idea to sit everyone down and talk about stuff. Let them know that you were hoping to take the game more seriously, and that you're not really enjoying things as they are going. From there it's a matter of determining whether your players are willing to change. If so, you could restart things or rework characters to be more in line with the tone you're going for, or even start a new game entirely. If not, you may have to just roll with things and accept that your players are looking for something different.