Is it really necessary to load the same packages
at the start of each chapter in a bookdown project?
It depends on your knitr approach:
Merging all chapters into one Rmd file and knitting it is one way to render the book in bookdown. There is actually another way: you may knit each chapter in a separate R session, and bookdown will merge the Markdown output of all chapters to render the book. We call these two approaches “Merge and Knit” (M-K) and “Knit and Merge” (K-M), respectively. …
M-K runs all code chunks in all chapters in the same R session, whereas K-M uses separate R sessions for individual chapters. For M-K, the state of the R session from previous chapters is carried over to later chapters (e.g., objects created in previous chapters are available to later chapters, unless you deliberately deleted them); for K-M, all chapters are isolated from each other.
If you don't want to load the library you could also refer to the function with the ::
notation, e.g. knitr::kable(head(iris, 20))
Added: For more info how to proceed have a look into the bookdown manual.