This question had already been answered in comments by Derek Holt who gave purely theoretical explanation: a comment of him says "Properties 1), 2), 3) imply that the normalizer of a Sylow 7-subgroup is a Frobenius group of order 42, and hence that $G$ acts 3-transitively on its Sylow 7-subgroups. The only such group is $PGL(2,7)$".
As another comment by @Elias suggests to use GAP, I would also show how to check this in GAP, so that the question may be removed from the unanswered queue:
Step 1: List all groups of order 336:
gap> l:=AllSmallGroups(336);; gap> Length(l); 228
Step 2: Filter those from condition (2):
gap> l1:=Filtered(l, g -> ForAll(ConjugacyClasses(g), > c -> not IsPrimeInt(Order(Representative(c))/7))); [ Group([ (1,4,6,8,5,2,7,3), (1,3,8,6,5,4,7) ]) ]
Observe that this condition already lefts us with only one group.
Step 3: Filter those from condition (3):
gap> l2:=Filtered(l1, g -> Size(First(ConjugacyClassesSubgroups(g), > c -> Order(Representative(c))=7))=8); [ Group([ (1,4,6,8,5,2,7,3), (1,3,8,6,5,4,7) ]) ]
Step 4: Check the isomorphism type of the group: it is $PGL(2,7)$ since it thas the same IdGroup
:
gap> IdGroup(l2[1]); [ 336, 208 ] gap> IdGroup(PGL(2,7)); [ 336, 208 ]
One could also see this from here:
gap> StructureDescription(l2[1]); "PSL(3,2) : C2" gap> StructureDescription(PGL(2,7)); "PSL(3,2) : C2"