This is a workaround for my own particular UTF-8 problem, refers to tab-separated values rather than CSV, and also involves proprietary software*. Hence it may not be of general applicability. However I am posting it in case anyone else finds it useful or is able to adapt it to their problem.
I work with a UTF-8 MySQL database which contains one field with UTF-8 text because of Greek symbols. After making an SQL query I often paste from my Mac terminal into the BBEdit text editor, do some minor clean up, and then import into Excel for distribution and presentation. Having read the answer from @MitraArdon, the following allows me to preserve the UTF-8:
- Set the BBEdit text document as Unicode (UTF-8, with BOM)† using the selection options at the bottom of the page. 
- Launch Excel 2016 and import the text file (as delimited text — I use the pipes from the MySQL tables as delimiters). Save as .xlsx. 
There is no step 3 (as the ad used to say).
For the reverse process I cannot do the normal “Save as tab delimited text” as the Greek letters will be replaced by underscores. As the document is in UTF-16 one must:
- Select “Save as UTF-16 Unicode Text (.txt)” 
- Open in BBEdit and change the format to UTF-8 (generally ‘No BOM’). 
Then I can upload back into my UTF-8 MySQL database, if required.
Footnotes
*Actually BareBones’ cutdown free text editor, TextWrangler, should also work as it has the option to save as UTF-8 BOM.
†Or convert to UTF-16 BOM.