わかりにくいのは、a family と同じで、a company が「集合名詞」だからかもしれません。
5人家族は a family of five (members) といいますが、同じように50人の会社を
a company of fifty としてみましょう。
a company of fifty を a company に注目してひとつの袋のように単数だと思えば、
a whole(丸ごと一つ)を使って、a whole company (of fifty) となります。(一つのリンゴまるごとは a whole appleですね)
a whole company (of fifty) が特定の会社を指す場合は、a を the にして the whole company とします。
*人数に言及しない限りわざわざ of fifty を明示しませんが、family タイプの集合名詞は of 複数 がついているという感じで使うといいと思います。
all は、複数のものが全部そろっているというニュアンスになります。
a company は a がついているものの、中身(50名)だと思って使えば、
全部そろわせるためには a company of fifty の a を the に変えなくてはなりません。
(the Beatles(4名) や the Tigers (?名)など、ロックバンドや球団名に the がついているのは the にヒモでくくる様に
構成員を全部揃わせる機能があるからです)
なので、50名扱いした a company は、the をつけて the company (of fifty) と全員を揃わせたうえで、
all the company (of fifty) とするわけです。
ちなみにbothも同じように
theや指示代名詞と合わせて使う場合、その前に置きます
× the both students
◯ both the students
そして
both (of) the students
このofの有無によって
bothは名詞なのか形容詞なのか、品詞が違ってくるのですが
フレーズの意味自体はofがあってもなくても
どちらでも全く同じ意味になるので
ofはあってもなくても良い
と考えます。
この点でallとbothは全く同じ特徴を持っています。