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"