The book says the answer is 8 but I don't understand why, can someone please explain why.
I think you are misunderstanding that "8". It is not the length of the cloth. Since 15 divides into 120 exactly 8 times, you can put the 15 cm measurement you can put 8 pieces wide. 8 divides into 29 three times with 5 remainder. So you will need 4 rows to get all 29 pieces (three of 8 and 5 more in the fourth row). So how long are 4 rows of length 32 cm each?