Почему из-за position: absolute появляться пустая область?
Absolute вырывает элемент из обычного потока. В потоке остаются h2 и h3. У последнего, вероятно присутствует нижний внешний отступ (margin-bottom). А дальше на сцену выходит эффект, называемый схлопывание марджинов
Блок section.test становится меньше, вот и все.

Потому что у вас не задана явно высота блока section.test
По умолчанию высота блока равна высоте контента внутри него. 

position: absolute;
right: 0;
bottom: calc(50% - 25px);

Вышеуказанными свойствами вы перемещаете блок в другое место и высота section.test уменьшается.