Choosing samples per symbol for modem pulse
The pulse rate is ultimately limited by the channel bandwidth. Assuming you're using raised cosine pulses with rolloff factor $\beta$, then $$B = \frac{(1+\beta)R_p}{2},$$ where $R_p$ is the pulse rate.

The number of samples per pulse is, in all libraries I know, independent of the pulse rate. Strictly speaking, you don't need more than $2B$ samples per second. However, some algorithms work better with more samples per pulse, and any signal plots you create will be clearer. In addition, normally you don't want your DAC to be working close to the theoretical limit.

In my experience (mainly with GNU Radio and USRP radios), 4 samples per pulse works very well with root raised-cosine pulses.

To further clarify, let us work through an example. Assume we want to transmit at a pulse rate $R_p=10,000$ pulses per second, with $\beta=0.5$. We know that we'll need a bandwidth of $7,500$ Hz. If we set our system to use 4 samples per pulse, then we'll have a sampling rate of $40,000$ samples per second. This is the amount of samples that our DSP system will need to process per second. If, instead, we go with 6 samples per pulse, then the sampling rate will increase to $60,000$ samples per second and the computational load of the system will increase accordingly.