This article describes a real-word software port, with examples of how various porting challenges are resolved. If you are a software developer porting software to UNIX, you will find these techniques invaluable in avoiding common pitfalls, resolving bugs, and improving your productivity.

A lot of old mainframes are still around;
why just let them die if we can update their
software stack and make them still useful instead
of being pieces of museums?

Because it is much cheaper to just use modern hardware: it's cheaper in the time required to port software, cheaper to find administrators, cheaper to maintain the hardware, cheaper to license the operating system, cheaper to power the hardware, cheaper to store the hardware, and cheaper to cool the hardware.

It is done to demonstrate that it can be done. That
is how engineering works, right?

I don't think there are many people who have access to IBM mainframes and do things with them just because they can. It's one thing to mess around with workstations or servers, but a mainframe isn't exactly something one can usually get off Craigslist or eBay and put in his basement.