On DB2 for z/OS, it is usually recommended that you have one table per tablespace. In some situations it is OK to have more than one table per tablespace, but make sure the tablespace is segmented in those cases.
On DB2 for Lnux, UNIX, Windows, you should generally have many tables in a tablespace. The decision about how many tables per tablespace is often determined by the bufferpool configuration, since you assign tablesspaces to bufferpools. If you plan on having 2 bufferpools (one for small tables and all indexes, and another for large tables) then you will need at least 2 different tablespaces.