Pense no conceito.
Uma variável de instância precisa do que? de uma instância, precisa existir um objeto dessa classe, e esse objeto terá essa variável.
Uma variável estática é uma variável da classe, portanto a classe só precisa ter sido carregada pelo ClassLoader, não é necessário ter uma instância para acessá-la.
portanto sempre que você tiver uma instância de uma classe, esta classe estará carregada, e as variáveis estáticas serão disponíveis.
Agora nem sempre que você tiver uma classe carregada, terá uma instância dessa classe, por isso não pode acessar uma variável de instância.
E se for pensar também não faz sentido, não tem como você em um contexto estático, saber qual instância você vai usar, a não ser que tenha recebido por parâmetro.
Fez sentido? até eu me enrolei hehehe