Forgive me, for I may go back and forth from american stupidity and metric systems, i'll try to stick with metric if thats what you're using.
if we use the boil off tool, you'll find that if we enter 43.5L of 1.038 wort for a 90 minute boil at a boil off rate of 5L per hour (how your equipment profile is set up) we should get 34.55L of 1.047 wort, yet your batch size is listed as 27L of 1.045 wort
this tells me something we already knew, you're running into an issue between mashing and fermenting. Now you've got a boil off rate of 5L/hour which seems reasonable. but you also have a loss to cooler and trub as 7.5L. I think this is where we're running into an issue.
now, boil off rate and time is where you get gravity readings. if we address that first, than your boil off rate is a bit off. IF you boiled for exactly 90 minutes, you can change your boil off rate to 5.2L/hour and you'll find that you get 34.24L of 1.047 wort, so we can try making that change to get your Gravity on track and assume that your volume is a hair off as far as loss to cooler and trub.
I would say the first thing you need to change would be boil off rate if you're constantly not hitting the post boil gravity, as boil off is the only thing that can effect post boil gravity.
other than that i would definitely do something to address your cooler/trub loss, you're losing a 12 pack of beer there bud. who cares about a few gravity points when you're tossing a 12 pack down the drain every time you brew. I've gotten my cooler/trub loss down to a half liter.