"Nepote" in Latin vulgate is not cousin. It can either mean great grandson, grandson, OR nephew. It covers a couple of generations.
My latin is rusty, but I just ran it through Google Translate and they come up with Great Grandsons.
We are able to document Richard's birth year, but this "Michael" may ultimately be worthy of exploration. It is a name that is traditionally used in Latin Rite Catholic naming traditions, something that the St. Johns definitely were not.