The problem here, I think, is that there's no one answer to the question "What are the fundamental laws of logic?" We can do things in different ways, and things which are fundamental on some accountings will be derived on others.
Let's assume that there is a definite answer to the question "What are the logical truths of classical logic?" (I'm using this as a proxy for "logical statements." If we want to expand it to include principles of inference, like modus ponens, that's okay too.) Note that the set of all such truths will be infinite, but that's okay. And to make "classical logic" well-defined, let's assume we mean truth-functional and first-order predicate logic, in which our first assumption is indeed correct. Then there are sets of rules and/or axiom schemes that provably allow the derivation of every logical truth thus understood. As just noted, there is no one way to so this, and the different ways won't contain the same axioms and/or rules. Even "the law of non-contradiction" will show up differently in different systems. For example: if by "the law of non-contradiction" you mean statements of the form "not-(P & not-P)," then such statements will be derived rather than basic in typical systems, but in all systems capable of capturing the logical truths, "not-(P & -P)" will come out true.
Logic isn't special in this regard, by the way. There are different ways to axiomatize pretty much any theory that can be axiomatized at all. Whatever fundamentality amounts to in these cases, it's not rigid and fixed.