Return function only on certain pages

Your code:

if( is_page(107) )
    return;

checks for page and returns nothing on match, effectively it’s exactly opposite of what you want. So if you reverse it and put this at start of function:

if( !is_page(107) )
    return;

It will do nothing everywhere, but page 107 where it will proceed to run rest of the function.