This paper is an extended version of our proceedings paper [39] announced at LICS'16; in order to complement it, this version is written from a different viewpoint including topos-theoretic aspects of [39] that were not discussed there. Technically, this paper introduces and studies the class of semi-galois categories, which extend galois categories and are dual to profinite monoids in the same way as galois categories are dual to profinite groups; the study on this class of categories is aimed at providing an axiomatic reformulation of Eilenberg's theory of varieties of regular languagesa branch in formal language theory that has been developed since the mid 1960s and particularly concerns systematic classification of regular languages, finite monoids and deterministic finite automata. In this paper, detailed proofs of our central results announced at LICS'16 are presented, together with topos-theoretic considerations. The main results include (I) a proof of the duality theorem between profinite monoids and semi-galois categories, extending the duality theorem between profinite groups and galois categories; based on this results on semi-galois categories we then discuss (II) a reinterpretation of Eilenberg's theory from a viewpoint of duality theorem; in relation with this reinterpretation of the theory, (III) we also give a purely topos-theoretic characterization of classifying topoi BM of profinite monoids M among general coherent topoi, which is a topos-theoretic application of (I). This characterization states that a topos E is equivalent to the classifying topos BM of some profinite monoid M if and only if E is (i) coherent, (ii) noetherian, and (iii) has a surjective coherent point p : Sets → E . This topos-theoretic consideration is related to the logical and geometric problems concerning Eilenberg's theory that we addressed at LICS'16, which remain open in this paper.