Pull Random Attachments With Pagination

Your since83_pagination() function is assuming the main query– $wp_query— but you are needing to paginate something very different. You need to be paginating the results in $attachments which you are retrieving with get_children(). That was my guess as soon as I saw this question.

You are going to need to rethink this. There are two options that come to mind.

If you are happy with passing pagination data in the URL use paginate_links(). That is probably the easiest option. I have written a few answers on using paginate_links.

Your other option is to use a filter on pre_get_posts. I do not have working code to post but I expect that this will be harder.

I would say, figure out which route you want to go, get started, and post your new code. I will edit the answer in light of the new code.