That's a question that has to be answered outside of the statistics. Your model fit isn't terrible by any means, but of course it could be better. If this is the first study using your test, or the first time MIRT has been fit to the data, then these results are probably just fine. Worse case, they provide a benchmark for improvement for others to reference and improve upon.
As an aside, you could also check out where the residual variances are the largest with the M2(mod, residmat=TRUE) argument. These are standardized residuals used to compute the SRMR statistic, and so large values indicate a lot of covariation remaining between the items. Might help to illuminate why the fit isn't closer perfect in the second-order tables. Cheers.
Phil