You'll have to be patient here, we're all doing our own work too and helping answer questions in our (limited) free time.
There are several issues with your code but your specific question was about time scales. The results are just python arrays so you can scale them however you want to. As written, your code isn't even plotting against time at all. The line
plt.plot(np.real(corr))
will plot the g(2) result but instead of plotting against time units, it simply plots 10 points (one for each timestep). You may want something like:
plt.plot(taus/T,np.real(corr))
where T is the period you are dividing out from the timescale.
In general, this is a bad idea, it is much better to write your hamiltonian in the scaled time units in order to have a more efficient numerical calculation. As an example, if T in the above line is very big or small (say, more than 10 or less than 0.1) you end up calculating way too many (or to few) points in the numerical integration.
As for why you don't get what you want for a result, there are many possible reasons and that is the work of numerical modeling. As some suggestions, you probably need to consider the time dependence of the hamiltonian (which is not included in your code). Also, the hamiltonian has an extra "k" in it compared to the paper.