Yes, I think it could be clearer that building for a library and for a program needs different settings, i.e. that when you define IN_LIBRARY, it won't now work for a program, and therefore you need multiple copies of gnulib. This is after all likely to be a common case: you want a program to be relocatable, and it has a library which also needs to access files relocatably.
While we're at it, this sentence doesn't apply to me, but it's mystifying: "For installing multiple libraries, at least one of which depends on another one, use the @code{relocatable-prog} module." Are you supposed to use relocatable-prog *and* -DIN_LIBRARY? How does using relocatable-prog help anyway? (A brief explanation of why it's necessary might aid comprehension and recall!)