Your translation isn’t bad.
The trick here is to recognize that fortissime a nostris and ab hostibus constanter ac non timide both modify the impersonal passive verb, pugnatum esset. They are parallel and this is an asyndeton: there is no “et” or other conjuction to join them. They are also arranged “chiastically” (from the Greek letter X or chi): A B B A, where fortissime and constanter ac non timide are the A elements, and a nostris and ab hostibus are the B elements. This asyndeton with chiasmus is a very elegant rhetorical figure, but I think the lack of a coordinating conjunction may have thrown you off.
English doesn’t use impersonal passive verbs as Latin does. Putting them into idiomatic English sometimes requires some gymnastics. Here the best solution would probably be to convert the Latin passive verb into English active verbs, since the agents of pugnatum esset are stated and can be transformed into the subjects of the Latin verb. “. . . our men had fought very bravely and the enemy [had fought] persistently and fearlessly”.
Cum here, with the subjunctive, is "circumstantial. In general, “circumstantial” cum is distinguished from “temporal” cum with the indicative, which simply tells when an action occurred, without necessarily any relationship to the action of the main verb. However, this is a fine distinction that I believe gradually got lost in later Latin. Circumstantial cum can be translated as “because” (causal), “although” (adversative), or simply “when” if the action of the cum clause is related to the action of the main verb and is not simply a time marker. Here, I think “when” is the best translation. The action of the cum clause pugnatum esset describes the circumstances in which the actions of the main verb impetum fecit. occurred.
Ita probably goes with pugnatum esset rather than fortissime.
“When our men had thus fought very bravely, and the enemy persistently and fearlessly, for several hours, . . .”
The rest of the sentence is good and works well in English. However, if you are focused on translating (rather than simply reading and understanding without translating, which should be the ultimate goal), there’s one small point that might be helpful. Latin uses participles more than English, and in particular, where there are two verbal ideas, often puts the less important or subordinate idea in a participle, where English would use two main verbs connected by “and”. So you might translate the second part of the sentence this way: “our cavalry suddenly charged out of the right gate and attacked the open flank of the enemy.” That seems to me just a little more fluid in English. When you read Latin, you should try to notice how Latin does this, because it’s a very common way Latin sentences are constructed, and it’s somewhat different from English.