Honestly, it's fine. DS2 had ARFID, so bad he almost starved himself. I was fixated on feeding. With hindsight I realise there are loads of things that didn't matter at all, that I worried about, and things I put an almost insane amount of effort into which did matter.
FWIW: I realised it doesn't matter at all what he eats, as long as he is eating a healthy diet. What you describe him eating is really brilliant. He's not even two, and he is eating all of the food groups, with quite a variety of textures.
It matters that mealtimes are happy and relaxed. You want him to associate food with pleasurable, social times. If he sits in a high chair chewing a rusk while you it prawn masala, it really doesn't matter. You are eating together as a family.
Give him autonomy (which you are already doing so ignore anyone who tells you he 'ought' to be doing XYZ by now.) Children develop at different stages and others tend to focus on what they are not doing, not what they are doing. He'll pick up cutlery when he is ready. We found that taking DC out to cafes or family friendly restaurants had a big impact, as does school. Seeing what everyone else is doing really spurs them on to do the same.
I read your posts and see you noticing all the things you think should be different, but listing loads of things you and he are doing that are really completely on track, but sort of missing how good this is.
He eats fruit, veg, chicken, fish, cheese, pasta, bread, peanut butter. That is a really good range of foods that will completely fulfil his nutritional requirements. You could try adding some tiny rice balls bound together with egg or cheese and rolled in bread crumbs and fried, just to introduce rice. Or rice pudding. You could introduce potato and sweet potato wedges, if he doesn't already eat these, to add some carb variety. But he's already eating meat, fish, dairy, carbs, fruit and veg, and he's not yet two. You're doing a great job. So is he.