TL; DR - é um artefato de como o Excel armazena e troca conteúdo de células internamente. Uma célula vazia é uma VARIANT sem valor, que é convertida para FALSE devido a como as linguagens de programação tratam a veracidade de valores zero e diferentes de zero.
O comportamento de AND() (e todas as outras funções lógicas) é converter ambos os argumentos em Booleanos e, em seguida, executar uma operação lógica and neles. Você pode retirar as capas e dar uma olhada em como ela é definida no modelo de objetos do Excel usando o Pesquisador de objetos do Editor do Visual Basic:

ObservequeeleretornaumBoolean,nãoaVariant.Issosignificaque,emalgummomentoduranteoprocessodeavaliaçãodafunção,todososargumentosprecisamserconvertidosemBooleans.Ocomportamentorealobservadoindicaqueissoéfeitonoiníciodoprocessamento-oExceltentaseramigável,tentandoconvertertodososargumentoseusandoosvaloresconvertidosnocálculo,seforbem-sucedido.IssopodeserdemonstradopassandoosvaloresString"True" e "False" para a função:
=AND("true","true") <---Results in TRUE
=AND("false","true") <---Results in FALSE
Etc.
Também pode ser demonstrado com argumentos numéricos - trata qualquer valor diferente de zero como verdadeiro e zero como falso:
=AND(42,-42) <---Results in TRUE
=AND(0,0) <---Results in FALSE
=AND(42,0) <---Results in FALSE
Etc.
Tem o mesmo comportamento em combinações:
=AND("false",0) <---Results in FALSE
Etc.
Até agora você deve tirar a foto. Então, como isso se relaciona com o teste de uma célula em branco? A resposta para isso está em como o Excel armazena internamente o conteúdo de uma célula. Novamente, o modelo de objeto do Excel é esclarecedor:

Observequeéuma estrutura VARIANT a>. Esta estrutura contém basicamente 2 partes - um tipo, que diz ao código usando como interpretá-lo, e uma área de dados. Uma célula sem conteúdo no Excel terá um "valor" representado por um Variant com o subtipo VT_EMPTY . Novamente, isso pode ser confirmado com uma macro:
Sub DemoMacro()
'Displays "True" if cell A1 on the active sheet has no contents.
MsgBox Range("A1").Value2 = vbEmpty
End Sub
Então, o que acontece quando a função AND converte isso em Boolean ? Boa pergunta! Acontece que é Falso, semelhante a como as linguagens de programação tratam o zero:
Sub DemoMacro2()
MsgBox CBool(vbEmpty)
End Sub
Você pode ver o mesmo comportamento omitindo completamente os argumentos :
=AND(,)
... é a mesma coisa que ...
=AND({vbEmpty},{vbEmpty})
... o que é o mesmo que ...
=AND(0,0)
... que é:
=AND(FALSE,FALSE)