No. The rate is not a flat 40%.
0 to 6475 is unrated.
6476 to 37,400 is at 20%
37,401 to 15,000 is at 40%
So tax payable on 42971 would be 8413 leaving 34558 divided by 12 = 2879 a month. But you will also have to pay UK national insurance (a welfare tax thing) which will be several hundred pounds a month on top.
Whatever, it's still rubbish pay for widebody long-haul. And don't ever rely on per diems. You could be sick, on leave or just not rostered.