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.
You could say these are optimization problems in one integer variable. In the first case, you want to minimize $n$ (the number of buses) subject to the constraint $15 n \ge 100$. In the second, you want to maximize $n$ (the number of chocolates sent) subject to the constraint $15 n \le 100$.
As others have mentioned, you're dealing with linear inequalities. Specifically, you're seeking an integer solution in each circumstance. That is, the answer must be a whole number. There is no rounding that's occurring, but rather, you are selecting the optimal integer solution from the set of all possible real solutions.
You can find more related material at Khan Academy, under Algebra I: Inequalities. Specifically, this video is similar to your exercises, as are the ones before and after it in the video sequence.
A little more deeply, if you noticed, I used the words "optimal integer solution" above. Because you're really selecting the maximum (or minimum) from some set to find the optimal solution..
Consider then, that the problem you're working on can be classified as a basic example of Optimization. Because you're working with integers, you can refer to it as Discrete Optimization. You may also be interested in the terms Linear Programming (or Optimization) and Integer Linear Programming. Those probably narrow down on these problems best.