UTF-8でCSVファイル出力するには、ADODB.Streamを使うのが一番簡単です。FileSystemObjectを使うのと同様に参照設定しておくと後々楽です。
ADODB.Streamで解決する
UTF-8でファイル出力するには、ADODB.Streamオブジェクトを使います。CSVファイルに限らずUTF-8でテキスト出力する際にも使うことができます。
サンプルプログラムを確認する(コピペOK)
Sub sample()
    
    '最終行列
    Dim maxRow As Long: maxRow = Range("A1").SpecialCells(xlLastCell).Row
    Dim maxCol As Long: maxCol = Range("A1").SpecialCells(xlLastCell).Column
    ' ファイルをUTF-8で開く
    Dim st As Object: Set st = New ADODB.Stream
    st.Charset = "UTF-8"
    st.Open
    Dim strLine As String
    Dim i As Long, j As Long
    For i = 1 To maxRow
        strLine = ""
        For j = 1 To maxCol - 1
            strLine = strLine & Cells(i, j) & ","
        Next j
        strLine = strLine & Cells(i, j)
        st.WriteText strLine, adWriteLine
    Next i
    
    '上書きモードでセーブ
    st.SaveToFile "d:\test.csv", adSaveCreateOverWrite
    st.Close
End Sub 
  
  
  
  