Why in some problems we round up and in some problems we round down?
The first problem you are trying to solve is
Seating capacity $\geq$ number of people
and the second problem you are trying to solve is
Package weight $\leq$ weight limit
If you actually wrote out what you were doing, you'd find that when solving these problems, you are ultimately deriving
Number of buses $\geq 6 + \frac{2}{3}$
Number of chocolates $\leq 6 + \frac{2}{3}$
Since both of these numbers are restricted to be integers, these inequations are equivalent to
Number of buses $\geq 7$
Number of chocolates $\leq 6$
Note these are inequalities, not equalities! The solution to the chocolates problem is not "you can send 6 chocolates", but instead "you can send anywhere from 0 to 6 chocolates".
"6 chocolates" is merely the solution to "what is the largest number of chocolates you can send?"
(of course, natural language is very imprecise, and likely the problem intended to ask for the largest number, despite not saying so)
For the layperson, I would think that the context and common sense answers implied in the book are the simplest explanation for why the rounding is necessary.
But from a linear programming perspective, in the first case the number of minibuses required, $x$, can be modelled as the solution to $15x \ge 100$ and $x \in \mathbb{N}$. And in fact, if we want to minimise cost, we want $\min\{ x \;|\; 15x \ge 100 \land x \in \mathbb{N} \} = 7$.
The second problem requires us to maximise the number of chocolates, $x$, where we have similar numbers, but different aims. The answer is $\max\{x \;|\; 15x \le 100 \land x \in \mathbb{N} \} = 6$.
So the two key points in the maths are whether the value needs to be maximised/minimised, and which inequality sign is necessary. The real life interpretation of the first part is that some events are negative (e.g. minibuses cost money), while others are positive (we want to send our friend as much chocolate as we can). For the second part, the difference lies in whether being safe means going under or over. In the latter case, "up to" clearly implies a limit, so we need $\le$ to avoid violating the postage rules, but in the former situation, people will get left behind unless 100 seats is a minimum requirement, so we should use $\ge$ to avoid not having enough space.
I would also add that calling this "rounding" (though I think most people would call it that) is slightly misleading, as when I think of rounding I imagine statements like $ 6.28319 \approx 6.283 $, where precision is being lost for various reasons such as convenience. Here, there is no lost information: it is simply that $6.666...$ is not a value that we can accept as it does not satisfy the $x \in \mathbb{N}$ criterion. I would say we are using the floor and ceiling functions.
The calculations are made to satisfy certain conditions and to solve certain problems. The conditions are the deeper thing. In both of your examples, the conditions are inequalities (not equalities).
In the first case, "I need seats for at least $100$ people."
In the second, "I will buy a stamp for at most $100$ grams."
We are not rounding up or down to estimate quantity but to solve the problem.