Most of the information in this post is based on very useful tips given by others in this forum over past many months/years. Resurrecting the topic as I found those tips extremely useful and haven't seen it in a while.
In Portugal, banks do not own ATM machines, they are handled by private separate networks and they do many tasks for the locals beyond cash withdrawals
Portugal like rest of the Europe is moving towards contactless payments and need for cash is decreasing rapidly but many tour operators and rural shops insist on cash.
There are many ATM machines all over Portugal with a sign of Euronet.
Avoid them like a plague
They not only have huge fees, they also give you very bad FX rate (having to pay total of 22 euro to withdraw 100 Euro is not uncommon)
Look for ATM that have MB (Multibanco) sign. They seem rare but there are plenty. You can use Google Maps to find one near you.
Take the usual precautions of being cautious of surrounding, covering PIN entry and making sure that card slot has no reader - using an ATM inside a bank branch is relatively safer).
Now here are the key notes:
You will be prompted with questions (related to conversion) TWICE
Say no or reject BOTH times
With Multibanco ATM, rejecting question twice, results in best FX rates without ANY fees (unless your own bank charges a fee).
Note that question is asked twice using slightly different words. You have to decline both times to get best rate and avoid fees
Hope the above helps