Strictly speaking, the functional harmony labels are: tonic, pre-dominant, and dominant.
Tonic Function: ...and vi
Tonic function should really be reserved to
i. The whole point of the deceptive cadence is a move from a dominant to a non-tonic chord. For the deceptive cadence definition to make any sense
vi cannot be considered a tonic chord.
Mediant Function: iii, vi, bIll, bVI, and bVII
bVII should not be included here. It is not built upon, nor contains, either the mediant or submediant degrees. It's the sub-tonic chord. Being neither tonic nor dominant, it should go into the pre-dominant function category.
I understand that you mean 'mediant function' to include mediant, submediant, and the various chord qualities between major and minor. Of course they are all mediant in the sense that the various roots are a third away from the tonic, but I would caution against equating that to mean same function.
The sub-mediants function mostly the same regardless of mode, but
bIII tend to function differently.
iii is a fairly un-common chord. When it is used it is likely to be part of a sequential progression like
I IV, viio iii, vi ii... or
I V6, ii V6/ii, iii V6/iii.... By comparison,
bIII in minor, might be part of a tonicization or modulation to the mediant.
what are the harmonic minor and melodic minor chord functions?
"Harmonic minor' and 'melodic minor' are names of scales. I'm sure you know that, but in terms of harmony and generating chords those scales should be understood as variations of the natural minor, the diatonic set of tones.
The system should be thought of as 'minor key functions' with scale degrees
^7 being raised or lowered traditionally depending on the movement of the bass which generates the harmony. There is also the idea than a raised
^6 is used when the
^7 is raised to avoid an augmented second. (That would be a purely melodic treatment of the tones.) The point is such treatments are local and happen at the moments when either a dominant chord is desired (or necessary for a cadence) or a melodic segment is avoiding and augmented second.
Those momentary, localized treatments of
^7 aren't the traditional basis for defining the set of diatonic minor chords.
The diatonic chord set is:
i iio III iv v VI VII i
The chords to add to that diatonic set are generated by the harmonic treatment of
^7 and are
IV V viio...
i iio III iv v VI VII i
IV V viio
Finally, placed into functional categories...
PRE-DOMINANT: iio, III, iv, IV, v*, VI, VII
DOMINANT: V, viio
(*) I'm using the definition of a functional dominant as a major chord built on the
^5 scale degree, or the diminished chord built on the leading tone.