One reason fudge might be too soft is that it has not cooked at a high enough temperature for a long enough time. The fudge mixture needs to reach a temperature of 240 degrees Fahrenheit during cooking.
The soft, chewy texture of fudge is achieved through micro-crystallization of the sugars in the candy. It should be properly cooked to the "soft ball" stage, in which the mixture forms small balls when dropped into cold water, but softens and melts in the hand. When the melted sugars and water in the fudge mixture reach this temperature, enough water evaporates out of the mixture that the sugar wants to re-crystallize. After removing the mixture from heat and allowing it to cool, it will start setting up and turning into fudge.
However, if the fudge mixture never reaches the soft ball stage it simply remains soft, or even liquid in the pan. This can also happen to those who live in humid environments. Some of the moisture in the air is absorbed back into the hot fudge mixture, preventing it from properly setting up. It is recommended to increase the boiling temperature of the fudge mixture a couple of degrees, or about 242 degrees F. This helps remove more liquid from the fudge mixture, so that humidity has less of an impact when it is setting up.