1) Antes de mais é preciso fazer uma diferenciação:
"frio" é um adjetivo e substantivo.
"quente" é adjetivo e "calor" é substantivo.
Portanto o mais normal será dizer:
a1) Faz frio a2) Faz calor (nunca faz quente)
onde frio e calor são substantivos como objeto direto. Estas orações relativas a tempo não têm sujeito.
b1) Está frio b2) Está quente
onde frio e quente são adjetivos como predicativos. Estas orações relativas a tempo não têm sujeito.
Os significados destas frases são praticamente sinônimos, mas o primeiro foca na ação da natureza e o segundo no estado da natureza. Por isso na ausência de advérbios especificadores o primeiro tem um senso mais vasto ou atemporal do que o segundo.
2) Não obstante também se pode dizer "está calor", mas com um sabor diferente das frases anteriores.
Assim como podemos dizer
"está gente aqui" ou simplesmente "está gente"
também podemos dizer
"está calor".
Atenção no entanto que neste caso não se tratam de orações sem sujeito.
"Está muita gente (aqui)"= "Muita gente está (aqui)"
"Está muito calor (aqui)" = "Muito calor está (aqui)"