row_number() already gives you a number.
row_number()
mygenes %>% group_by(gene) %>% mutate( isoform_id = paste(gene, row_number(), sep = "_") )