I've read somewhere the 300 Spartans actually had left after celebrating Carneia. Just hoping a Redditor could clear this up.
Also I understand Sparta usually had two kings. Where was the other guy?
The major source for this is Herodotus. He says (referring to Leonidas)
He now came to Thermopylae with the appointed three hundred he had selected, all of whom had sons. The Spartans sent the men with Leonidas on ahead so that the rest of the allies would see them and march, instead of medizing like the others if they learned that the Spartans were delaying. At present the Carneia was in their way, but once they had completed the festival, they intended to leave a garrison at Sparta and march out in full force with all speed. The rest of the allies planned to do likewise, for the Olympiad coincided with these events. They accordingly sent their advance guard, not expecting the war at Thermopylae to be decided so quickly.
So according to Herodotus, the Carneia was indeed happening at the time and was the reason the main body of the spartans didn't go with Leonidas (also they perhaps didn't think things would go so quickly). The spartans used that kind of excuse fairly often though. Some people have questioned its validity.
It's worth noting that:
a) 300 was the typical number for a spartan king's bodyguard. So it has been presumed that in just taking that number Leonidas could technically claim to just be going to Thermopylae with his bodyguard, rather than formally marching to war. Hence he wasn't committing sacrilege, and may been able to go more freely of his own volition (ie without formal approval).
b) There had been a very dismal prophecy about the war from the Delphic Oracle for Sparta. Herodotus says:
When the Spartans asked the oracle about this war when it broke out, the Pythia had foretold that either Lacedaemon would be destroyed by the barbarians or their king would be killed. She gave them this answer in hexameter verses running as follows:
“For you, inhabitants of wide-wayed Sparta, Either your great and glorious city must be wasted by Persian men, Or if not that, then the bound of Lacedaemon must mourn a dead king, from Heracles' line. The might of bulls or lions will not restrain him with opposing strength; for he has the might of Zeus. I declare that he will not be restrained until he utterly tears apart one of these"
http://www.perseus.tufts.edu/hopper/text?doc=Hdt.+7.220
If that is true and Leonidas believed it, it is possible that he not only expected to, but also intended to die at Thermopylae. Because if he died Sparta would be saved from destruction, according to the words of the Oracle. This is supported by the fact he only took men with sons (presumably so if they died their family line wouldn't perish). So he may have deliberately set out to face impossible odds and (300) heroic death(s) to save his city.
[edit] I'm not sure we know where the other king was, but presumably at Sparta, celebrating the Carneia. It wasn't unusual for one king (or another spartan) to lead a field army by himself though, which seems pretty sensible.
According to Thomas R. Martin's Ancient Greece in reference to your question about the spartan kings.
"Rivalry between the two royal families periodically led to fierce disputes, and and the initial custom of having two supreme military commanders also paralyzed the spartan army when the kings disagreed on strategy in the middle of a military campaign. The Spartans therefore eventually decided that the army on campaign would be commanded by only one king at a time."