IEnumerator型のデリゲートを定義する
delegate IEnumerator IEnumCallback();

定義したデリゲート型の変数を宣言する
IEnumCallback buffCheck;

デリゲートに複数の関数を登録する
buffCheck += chara.CheckBuff;
buffCheck += chara2.CheckBuff;

下のようにStartCoroutineで呼びだすと、最初に登録したものしか実行されない
IEnumCallback coroutine;
coroutine = buffCheck;
yield return StartCoroutine(coroutine());
coroutine();

登録されている関数を順番に呼び出す、または取得出来る方法はある?