You could use something like this:
I took your sample code and slightly adapted it to the multipage example from matplotlib.
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import numpy as np
with PdfPages('multipage_pdf.pdf') as pdf:
# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
# Note that using plt.subplots below is equivalent to using
# fig = plt.figure and then ax = fig.add_subplot(111)
#fig, ax = plt.subplots()
plt.plot(t, s)
#ax.set(xlabel='time (s)', ylabel='voltage (mV)', title='About as simple as it gets, folks')
#ax.grid()
plt.title("Page one")
pdf.savefig()
plt.close()
plt.rc('text', usetex=False)
plt.title("PAGE TWO")
# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
# Note that using plt.subplots below is equivalent to using
# fig = plt.figure and then ax = fig.add_subplot(111)
fig, ax = plt.subplots()
ax.plot(t, s)
ax.set(xlabel='time (s)', ylabel='voltage (mV)',
title='About as simple as it gets, folks')
ax.grid()
pdf.savefig()
plt.close()
This results in a nice two page pdf on my mac unsing python 3.
This is not intended to be the final solution but should be a good starting point for you oto go on.
You can also add pdf metadata, insert text and much more.

remark for osx users: I had problems with the example from matplotlib due to the line:
plt.rc('text', usetex=True)
This resulted in a LaTex error.
RuntimeError: LaTeX was not able to process the following string:
b'lp'
Here is the full report generated by LaTeX:
Just set
usetex=False
as a first workaround to get going.