@roman.galyaminskiy Hi, what you are doing in the patch is "true" frequency modulation, in that you are modulation the frequency of [osc~] objects. Generally the way to do it in software (and indeed how it's done in the DX7, volca etc) is called phase modulation, which is analogous to FM, where instead you modulate the readout phase of cosine oscillators. This approach also allows you to have an oscillator modulating itself (which you need for operator 6 in the algorithm you are trying to emulate), although that needs to happen on a sample-by-sample basis, and you need to use the block~ object inside a subpatch for that.
I fixed your patch to do phase modulation, and now has 6 operators (number 6 has feedback). It probably won't sound exactly like the volca because you are missing a number of features (envelopes, frequency offset, phase locking etc), but it should get you started with exploring FM in Pd, hope it helps.
fm_mod_stack_fix.pd
I attempted to recreate this sort of thing some time ago, with a flexible algorithm structure. It's pretty involved and not intuitive at all, but it's basically the same concept as the above patch. It's a CPU hog enough with only 3 operators, but it sounds pretty good to me.
https://forum.pdpatchrepo.info/topic/10745/3-op-fm-synth-with-mod-matrix