It's not possible to use the tp.offer.show({}) function within the My Account templates, nor any other tp. functions. This is because the Piano JS library isn't being fully loaded in these templates.
If you want to show an offer to your users nonetheless, you're going to need to use post messages.
For example, in the My Account Library Components template, you would define a function and add the on click event:
function myFunction() {
parent.postMessage('showOffer', 'http://www.mywebsite.com/myaccount.html');
}
<button onclick="myFunction()">Show me the offer!</button>
Then, in your front-end code, you would handle the post message, and show the offer like this:
window.addEventListener('message', function(e) {
if(e.data == "showOffer"){
tp.offer.show({offerId:'OFP0SHI610BZ'});
}
});
Under this link, you can find more information about how to show an offer using JavaScript.