The number printed there is the maximum number of fragments read at any position in the protein. If you have less than 25 fragments at any position, it will read all the fragments for that position, but for the purpose of that diagnostic line the number of fragments will be overshadowed by the position where there are 25 fragments.
(The code in question is `n_frags = std::max( n_frags, frame->nr_frags() );`, run once for each position, where `n_frags` is only ever used in the display line. In each “frame” (position) the number of fragments is stored correctly and varies based on how many you actually have.)